wordpress — не отображать ничего, если функция php пуста

У меня есть функция WordPress, которая отображает рекламу очень часто. Когда не отображаются по существу, я бы предпочел, чтобы div отображал: none;

Я не могу понять правильную функцию PHP, чтобы div не отображался при загрузке рекламы.

<div class="advert" <?php if(!empty($_GET['details'])) {echo "style='display: none'";} ?>></div>

0

Решение

Почему не совсем не эхо «рекламного» элемента?

   if ( !empty($_GET['details']) ){
echo '<div class="advert">add text</div>';
}

если вы действительно хотите просто скрыть, вы можете назначить скрыть класс

<div class="advert <?php echo ( empty($_GET['details'])? 'hide' : '' );">add text</div>

тогда вам нужно будет добавить класс «hide» с display: none в вашем style.css

Выше сокращенное / троичное выражение if / else используется, это здорово, если вам нужно вывести некоторую строку.

И, пожалуйста, не выводите / не доверяйте никаким пользовательским вводам, т. Е. $ _GET [‘details’] ‘как есть’ в любом месте, не экранируя его, из соображений безопасности.

WordPress имеет множество простых в использовании функций escape, таких как esc_attr () а также esc_html ().

1

Другие решения

Это должно сделать это для вас

<?php
$advert_display_string = "";
if (!isset($_GET['details'])) {
$advert_display_string = "style='display: none'";
}
?>

<div class="advert" <?php echo $advert_display_string ; ?> ></div>`

но, сказав, что вместо того, чтобы отображать его, а затем скрывать с помощью css, вы можете просто выбрать его отображение, если вам это нужно, как показано ниже

<?php
if (isset($_GET['details'])) {
?>
<div class="advert"></div>
<?
}
?>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector