Сегодня хотел найти в поисковиках код для wordpress, который скрывал бы рекламу в свежем посте, а по истечении какого-то времени она бы там начала показываться, но так и не смог найти.
Попадались только плагины всякие, а использовать их для такой простой задачи совсем не вариант. Вот и написал простенькую функцию, которая решает данный вопрос. Она может пригодится тем, кто не хочет отпугивать постоянных читателей обилием рекламы в свежем посте, а по истечении времени блоки с рекламой начнут показываться.
Шаг 1. В файл functions.php (в конец), вашей темы, закидываете код:
/* показ рекламы только через определенное время */
function ads_time ($post_id){
$time_up = 72; // после указанного кол-ва часов с момента публикации поста
$time_kash = 60 * 60 * $time_up + get_the_time('U', false, $post_id);
if ($time_kash < time()) {
return true;
} else {
return false;
}
}
/* end // показ рекламы только через определенное время */
где 72 — это кол-во часов, которое должно пройти с момента публикации.
Шаг 2. В файл single.php, в то место, где должен показываться рекламный блок, добавляем:
<?php
if (ads_time ($post->ID)){
echo 'Здесь код рекламного блока';
}
?>
Или можно так (это как вам больше нравится):
<?php if (ads_time ($post->ID)){ ?>
Здесь код рекламного блока
<?php } ?>
Всё!
P.S.
Но если включено кеширование (например, плагином WP Super Cache), то реклама в новом посте не появится даже по истечении времени (пост закешируется без рекламы) Потребуется чистка кеша.
Другие полезные статьи:
- Как получать выплаты adsense переводом на банковский счет каждый месяц;
- Как вывести деньги с webmoney в Беларуси на карточку;
- Про бесплатную и платную массовою проверку позиций сайта по ключевым словам.
Респект! Полезная вещь!
Спасибо за код, интересная функция, вот если бы подружили бы ее с кэшем, то установил бы у себя
Надо будет попробовать на своем сайте. Сам отношусь к таким пользователям, которых жутко раздражает реклама.