WordPress

php — Jak sprawić, by mój pasek przewijania był wyświetlany pod warunkiem

  • 24 lutego, 2024
  • 3 min read
php — Jak sprawić, by mój pasek przewijania był wyświetlany pod warunkiem


Używam fragmentu kodu WP/kodu w mojej witrynie WordPress (tutaj nadal na localhost) i mam pasek przewijania, który chcę pokazać tylko wtedy, gdy dodamy tekst, który będzie zawierał ten pasek przewijania na górze. W tym celu utworzyłem wejście w panelu kontrolnym, gdzie mogę wpisać tekst do wyświetlenia, a następnie tekst ten jest wstawiany do tabeli w bazie danych. Następnie, jeśli ten tekst zostanie wstawiony, ustawiam warunek (if(isset($flag) && $flag==true)), aby wyświetlić pasek przewijania, ale niestety nie działa. Pomyślałem, że może to być spowodowane tym, że zmienne nie znajdują się na tych samych stronach, ale próbowałem użyć zmiennej $_session() i nadal nie działało. Czy ktoś może pomóc? Poniżej znajduje się użyty kod (Uwaga: jeśli usunę warunek, zobaczę pasek przewijania)

add_action('wp_dashboard_setup', 'my_custom_dashboard_widget');
  
function my_custom_dashboard_widget() {
    global $wp_meta_boxes;
    wp_add_dashboard_widget('custom_input_widget', 'Breaking News', 'custom_dashboard_input');
}

function custom_dashboard_input() {
    echo '<div>Write your Breaking News</div></br>';
    echo '<form name="form" action="" method="post"><input style="width:300px;" type="text" id="bnews" class="bnews" name="bnews" required          minlength="5" maxlength="150" size="10" /></br>';
    echo'<button type="submit" value="Submit">Submit</button></br>';
    echo' ';
    echo'<input style="border:1px solid grey; background: whitesmoke; color:black; margin-top=-5px;" type="reset" value="Reset"/></form>';
    if(isset($_POST['bnews'])){
                $flag=true;
                $conn = mysqli_connect("localhost", "root", "", "newpress");

        if($conn === false){
            die("ERROR: Could not connect. "
                . mysqli_connect_error());
        }

        $bnews = $_REQUEST['bnews'];

        $result = mysqli_query($conn, "DELETE FROM wp_breakingnews WHERE ID=1");

        $sql = "INSERT INTO wp_breakingnews VALUES (1,'$bnews')";

        if(mysqli_query($conn, $sql)){
             ?>
             <script>
                alert("Succes de Sauvegarde de votre News")
             </script>
             <?php
        } else{
            echo "ERROR: $sql. "
                . mysqli_error($conn);
        }

        mysqli_close($conn);
    }
}

function my_add_custom_dashboard_styles(){
    wp_add_inline_style('wp-admin','#custom_input_widget{
    width:443px;
    background-color:cadetblue;
    paddind:5px;
    }
    ');
}

add_action('admin_enqueue_scripts','my_add_custom_dashboard_styles');

add_action('astra_main_header_bar_top','add_scroll_bar');
function add_scroll_bar(){
    global $wpdb;
    $result = $wpdb->get_results("select * from wp_breakingnews");
    foreach($result as $row){
    $ID=$row->ID;
    $bnews=$row->bnews;
    }
if(isset($flag) && $flag==true){
    ?>
    <div class="scroll-container">
        <?php echo'<div class="mouvement">'.$bnews.'</div>'?>;
    </div>
    <?php
}
?>

<style>
.scroll-container {
  background-color: #7FB3D5;
  overflow: hidden;
  width: 100%;
  height: 30px;
  line-height: 30px;
  color:#FFFFFF;
}

.mouvement {
  text-align: right;

  animation properties 
  transform: translateX(100%);  
  animation: move 13s linear infinite;
}

@keyframes move {
  from {
    transform: translateX(-90%);
  }
  to {
    transform: translateX(90%);
  }
}
</style>
    <?php
    $flag=false;
}   


Źródło

Warto przeczytać!  katalog — wielostanowiskowy Wordpress z subdomenami za odwrotnym proxy Nginx przy użyciu podkatalogów