Разместил всё меню на отдельной странице и задал через css стили для блоков завтраков .zavtraki и для основного меню .osnmenu.
В funstions.php добавил код:
add_action( 'wp_head', 'my_dostavka_zavtraki' );
function my_dostavka_zavtraki() {
if(date('H:i') > '03:50' && date('H:i') < '08:55'){ // если время больше 3:50 и меньше 08:55
$displazavtraki = 'block';
}else{
$displazavtraki = 'none';
}
if(date('H:i') > '08:50' && date('H:i') < '20:50'){ / если время больше 8:50 и меньше 20:50
$displaosnmenu = 'block';
}else{
$displaosnmenu = 'none';
}
?>
<style type="text/css">
.zavtraki {display: <?php echo $displazavtraki; ?>;}
.osnmenu {display: <?php echo $displaosnmenu; ?>;}
.servertime {<?php echo date('H:i'); ?>;}
</style>
<?php
}
Время на вашем сервере может отличаться. Поэтому не забудьте проверить время на вашем сервере — смотри в коде страницы строку с .servertime (потом можете удалить эту строку).
Если отличается, то подкорректируйте условие if(date(‘H:i’) > ’03:50′ && date(‘H:i’) < ’08:55′){ ,прибавив и убавив часы.
ВАЖНО! Если у вас настроено кеширование, то вам нужно очищать кеш каждые n минут/часов.
Я использую wp rocket. Инструкция по очистке кеша определенной страницы по таймингу тут.
@seomur
Помощь и консультации по wordpress, woocommerce и ускорению сайта - https://t.me/seomur