Снова тема по php-условиям вывода информации на странице (это условные теги WordPress, это WooCommerce): дам пример кода сравнения дат – на основе него возможно проработать варианты вывода информации в зависимости от дат публикации… Подобным образом, например, организовывают вывод неких рекламных блоков (варианты – ссылка ниже).
Короче, судя по запросам клиентов, данный функционал автоматизации вывода информационных блоков на страницах сайтов весьма востребован, а потому, возможно кому-то пригодятся данные ниже решения для самостоятельного решения задачи.
Сравнение дат php
Данный сниппет добавляем к себе в файлы активного шаблона: либо куда-то в цикл в файлы типа post-single.php либо возможно создать функцию (в functions.php) или add_action (как и что создается).
Короче говоря, суть отработки функции такова, указываем в переменной $date2
дату от которой инвертируем вывод инфы. Например, в более новых постах будет выведена один информационный блок, а в более старых ($date1
) – другой инфо-блок. и т.д. Ну, или наоборот…
…либо сделать так, чтобы информация показывалась в определенный промежуток времени – то есть от определенной даты до определенной (даты возможно организовать динамически), а в другое время скрывалось!
Короче, показывается только, к примеру, в Ноябре месяце, а остальное время года – НЕТ!
Настройки условий возможно вывести в Опции шаблона, это значительно удобнее – не придется лазить в файлы шаблона для замены условия!
<?php
//global $post; // если функция
if ( is_super_admin()) { // добавил условие ТОЛЬКО админу (тестирование кода)
?><div class="adm"><?php // style="color:#09ab25;font-size:11px"
$date1 = get_the_date(); // фактическая дата публикации поста: получаем дату в цикле
$date2 = '2022-12-31'; // 2022-12-31 = укажем дату, от которой инвертировать вывод инфы
if ( $date1 <= $date2 ) { // сравниваем даты = см. операторы сравнения
echo '<br />' . '1 код<br />' . $date1 . ''; // укажем нужное
} else {
echo '<br />' . '2 код<br />' . $date1 . ''; // укажем нужное
} ?></div><?php }
в файле готовый код выглядит примерно так:
теория php условий сравнения даты (времени)
В коде даны комментарии:
Сравниваем get_the_date() дату публикацию поста с указанным произвольным значением $date2.
if ( $date1 <= $date2 ) { требуемый код } – строка сравнения данных.
это if ( is_super_admin()) {
я обернул для того, чтобы отработка выводилась только Админу сайта (на время тестирования)… Уберите саму строку и финальный закрывающие <?php }
div классы для примера…
операторы сравнения:
$a == $b
– условие равенства: возвращается true, если значение переменной $a равно значению переменной $b;$a === $b
– тождественно: возвращается true, если значение и тип переменной $a равно значению переменной $b;$a != $b
– Не равно! – true, если значение переменной $a отлично от значения $b;$a <> $b
– Не равно! если значение переменной $a типов не равно $b;$a !== $b
– тождественно Не равно, значение переменной $a отлично от значения $b либо разница типов;$a < $b
– меньше, значение $a меньше значения переменной $b и НАОБОРОТ:$a > $b
– больше ;$a <= $b
– меньше или равно /$a >= $b
– больше или равно – ИСПОЛЬЗУЕТСЯ в коде выше;$a <=> $b
– вариант (spaceship) целое число (int) меньше, больше или же равное нулю, т.е. значение $a меньше, больше или равно сохраненному значению $b…
Дополнительный вариант, если требуется отработка кода по времени, через какое-то время
Возможно, что-то упустил в пояснениях – спрашивайте…
mihalica.ru !