вывод контента в определенное время

Выводим часть контента (записи, страницы) только в определенное время

Здравствуйте, сегодня хотелось бы поделиться с вами кусочком кода для отображения контента только в определенное время на 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>

Теперь вы будете знать на сколько часов разница между вашим местным временем и временем сервера и сможете выводить контент в нужное время с точностью до секунд!

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Выводим часть контента (записи, страницы) только в определенное время: 1 комментарий

Добавить комментарий