我想隐藏使用自定义页面模板的页面标题。因此,我编写了在启用自定义页面模板时过滤掉页面标题的代码。然而,这导致导航菜单项也被过滤。因此,我添加了更多代码来删除过滤器(如果它是一个菜单项),然后再添加回来。但现在,标题正在仪表板中过滤,如图所示。如何防止这种情况?
我添加的代码如下:
function suppressed_title($title,$id) {
if(get_page_template_slug()==\'custom-template.php\' && get_post_type($id)==\'page\') {
$title=\'\';
}
return $title; }
add_filter(\'the_title\', \'suppressed_title\',10,2);
function remove_title_filter($nav_menu, $args) {
remove_filter(\'the_title\', \'suppressed_title\',10,2);
return $nav_menu;
}
add_filter(\'pre_wp_nav_menu\', \'remove_title_filter\',10,2);
function add_title_filter($items, $args) {
//add the filter after filtering out the menu items
add_filter(\'the_title\', \'suppressed_title\',10,2);
return $items;
}
add_filter(\'wp_nav_menu_items\', \'add_title_filter\',10,2);