Если вы в блоге запланировали какое-то событие, например, подведение итогов голосования, то наверняка задумывались над тем, как провести его автоматически, не напоминая самому себе о том, что нужно создать для этого дополнительную запись. Вы можете в уже существующей записи вставить содержимое, которое посетители увидят только после наступления нужной даты. Поможет создать такой, невидимый до поры до времени, контент специальный шорткод.
Откройте файл functions.php и добавьте в него код функции шорткода:
function content_countdown($atts, $content = null){ extract(shortcode_atts(array( 'month' => '', 'day' => '', 'year' => '' ), $atts)); $remain = ceil((mktime( 0,0,0,(int)$month,(int)$day,(int)$year) - time())/86400); if( $remain > 1 ){ return $daysremain = "<div class="event">Осталось дней до появления - <strong>($remain)</strong></div>"; }else if($remain == 1 ){ return $daysremain = "<div class="event">Остался всего <strong>($remain)</strong> день до появления</div>"; }else{ return $content; } } add_shortcode('cdt', 'content_countdown');
Использование шорткода:
[cdt month="01" day="01" year="2012"]Новый год![/cdt]
До того, как наступит необходимая дата, вместо содержимого шорткода будет отображаться обратный отсчет, показывающий, сколько осталось дней до показа.
Если же вы, напротив, хотите скрыть часть содержимого после определенной даты, то можете воспользоваться плагином Expiring Content Shortcode – он создает шорткод, которым можно выделять содержимое, которое будет отображаться только после наступления определенного дня и времени.
Так же есть удобный универсальный плагин WPSleep, который создает шорткод, с помощью которого можно делать текст видимым после наступления определенной даты, только в какой-то конкретный промежуток времени определенного дня, либо запланированно появляться на определенное время каждый день.