Здравствуйте, сегодня хотелось бы поделиться с вами кусочком кода для отображения контента только в определенное время на wordpress сайтах.
Скачать исходники для статьи можно ниже
Сам код следующий:
add_shortcode( 'displaythis', 'displayThis' ); function displayThis($atts, $content=null){ $html = null; $when = $atts['when']; if(isset($atts['format'])) $format = $atts['format']; else $format = 'd-m-Y'; $date = date($format); if( $when == $date ) { $html = $content; } return $html; }
Вышеуказанный код нужно вставить в файл functions.php вашей темы сайта, то есть заходим в панель управления wordpress, в левом меню выбираем пункт “Внешний вид” и его подпункт “Редактор”, справа в списке шаблонов выбираем файл – functions.php и в самый низ его кода вставляем данный код.
Теперь переходим в нужную нам страничку или запись (пост) и вставляем в нее следующий шорткод в нужном нам месте, например так:
[displaythis when="26" format="d"]Сегодня 26 января 2014 года![/displaythis]
В итоге надпись “Сегодня 26 января 2014 года!” будет выводиться только 26.01.14 – то есть только один день.
Для того чтобы можно было выводить контент по часам и минутам, а возможно даже секундам – нужно поменять строчку:
$format = 'd-m-Y';
на следующую:
$format = 'd-m-Y-h-i-s';
, где:
d – дни
m – месяцы
Y – года
h – часы
i – минуты
s – секунды.
То есть теперь мы сможем задавать не только – дни, месяцы или года, когда нужно выводить контент, но и часы, минуты и даже секунды.
Но теперь нам нужно выяснить – Какое время будет учитываться при работе данного скрипта?
Ответ: время сервера вашего сайта.
А как же его определить (текущее время сервера сайта)?
Для этого можно воспользоваться следующим кодом:
<?php echo date("d-m-Y h:i:s"); ?>
Можете вставить данный код, например в футер (подвал) сайта – для сайтов на wordpress – заходим в панель управления – в левом меню выбираем пункт “Внешний вид” и его подпункт “Редактор”, справа в списке шаблонов выбираем файл footer.php и перед закрывающим тегом body вставим наш код:
... <?php wp_footer(); ?> <?php echo date("d-m-Y h:i:s"); ?> </body> </html>
Теперь вы будете знать на сколько часов разница между вашим местным временем и временем сервера и сможете выводить контент в нужное время с точностью до секунд!
Плагин позволяющий скрывать часть контента в зависимости от времени “wordpress.org/plugins/shortcodes-to-show-or-hide-content/”