因为需要编辑主题文件,所以首先要确定是使用自定义主题还是从某处下载的主题。如果是从某处下载的,则需要创建child theme (基本上,您只需创建一个新的style.css
该文件只需要在顶部包含注释,这样WordPress就可以将其识别为您可以激活的主题,然后您可以复制您正在编辑的任何文件,可能header.php
, 并在此处进行编辑)。这样,每当主主题更新时,子主题仍将应用您的更改。
然后,在标题中。php,您将更改代码,使其看起来像这样(可能更长,但将包含wp_nav_menu
):
wp_nav_menu(array(\'theme_location\' => \'header\'));
有条件的:
$weekdayShowStart = \'17\';
$weekdayShowEnd = \'18\';
$satFirstShowStart = \'07\';
$satFirstShowEnd = \'08\';
$satSecondShowStart = \'19\';
$satSecondShowEnd = \'20\';
$dayAndTime = current_time("N G");
$timestamp = explode(\' \', $dayAndTime);
$day = $timestamp[0];
$hour = $timestamp[1];
if(
($day < 6 && $hour >= $weekdayShowStart && $hour < $weekdayShowEnd) ||
($day == 6 && $hour >= $satFirstShowStart && $hour < $satFirstShowEnd) ||
($day == 7 && $hour >= $satSecondShowStart && $hour < $satSecondShowEnd)
) {
// paste your old code here, but change \'menu\' value to \'radio_show_live_menu\'
wp_nav_menu(array(\'menu\' => \'radio_show_live_menu\'));
} else {
// paste your old code here, with no changes
wp_nav_menu(array(\'menu\' => \'header\'));
}
说明:
使用WordPresscurrent_time("N G")
给出N,这是一周中的一天,周一=1到周日=7,以及G,这是一天中的一小时,午夜=00到晚上11点=23。
如果您的节目超过一小时,则需要编辑上面的节目开始和结束值。
您需要确保WordPress设置为使用本地时区,以确保事情在您预期的时间发生。可以在“设置”>“常规”中执行此操作。
最后,这段新代码查找两个单独的菜单。如果您的节目已打开,它将从您需要创建的新菜单中拉出。如果您的节目没有播出,它将从旧/现有菜单中退出。
创建新菜单:在(子)主题中functions.php
文件,添加
函数radio\\u show\\u live\\u menu(){register\\u nav\\u menu(\'radio\\u show\\u live\\u menu\',\'radio live menu\');}add\\u action(\'init\',\'radio\\u show\\u live\\u menu\');
然后可以将现有菜单复制到新菜单中,并添加额外的链接。