【发布时间】:2020-05-24 00:51:22
【问题描述】:
我的主题中有几个自定义页面模板。但是我想用插件隐藏一些,只在已经设置为首页“is_front_page”或“is_home”的页面上显示自定义主页模板。这就是我在插件中用来阻止某些页面模板出现的方法。
这适用于一个大型多站点,其中有两层站点,一个具有完整的功能集,另一个具有发育不良的集合。除了这个,我的一切都按我的需要工作。
add_filter( 'theme_page_templates', 'je_remove_page_template' );
function je_remove_page_template( $pages_templates ) {
unset( $pages_templates['page-topimage.php'] );
unset( $pages_templates['page-home.php'] );
return $pages_templates;
}
上面的代码工作得很好,但是当页面设置为主页时,我需要一个条件来显示 page-home.php。我已经尝试过这段代码,但它不起作用。
if ( is_front_page() ) :
add_filter( 'theme_page_templates', 'je_remove_page_template' );
function je_remove_page_template( $pages_templates ) {
unset( $pages_templates['page-topimage.php'] );
return $pages_templates;
}
else :
function je_remove_page_template( $pages_templates ) {
unset( $pages_templates['page-topimage.php'] );
unset( $pages_templates['page-home.php'] );
return $pages_templates;
}
endif;
关于如何让它发挥作用的任何想法?
【问题讨论】:
-
对不起,我不是很清楚。我正在尝试阻止自定义页面模板显示在管理仪表板编辑屏幕的下拉列表中。
标签: php wordpress conditional-statements