WordPress帖子模板从菜单中删除默认模板

时间:2021-10-04 作者:gil hamer

Im使用wordpress自定义帖子类型;资源“
自定义帖子类型称为;resource"E
然后我创建了3个不同的;发布模板“;对于帖子类型
网络研讨会、新闻、门控内容

使用不同的POST TEMPLATES 为此
一切都很好,只有一件事我做不到disable/remove "E;默认模板;从菜单中

enter image description here

并设置“;网络研讨会;作为默认值。。

1 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

如果只想更改可以挂接的文本default_page_template_title

add_filter(\'default_page_template_title\', \'bt_change_default_page_template_title\', 10, 2);
function bt_change_default_page_template_title ($text, $meta) {
    if ($meta === \'meta-box\') return \'My custom template\';

    return $text;
}
将此代码添加到functions.php 就这样
在干净的wordpress安装上进行了测试,这只会更改文本,而不会改变其他内容,功能将保持不变。

更新要使此过滤器与ACF配合使用,我们需要进行一些更改。

使用过滤器时,ACF不会传递第二个参数,因此我们需要为第二个参数指定一个默认值,更新条件以将新的空参数考虑在内

add_filter(\'default_page_template_title\', \'bt_change_default_page_template_title\', 10, 2);
function bt_change_default_page_template_title ($text, $meta = \'\') {
    if ($meta === \'meta-box\' || empty($meta)) return \'My custom templatee\';

    return $text;
}

相关推荐

GET_POSTS显示当前帖子,而不是带有参数的已定义帖子

我想显示已定义的帖子,但get\\u posts显示当前帖子,而不使用args中的定义。为什么,如何解决?get\\u posts和wp query之间有什么区别?谢谢add_action( \'template_redirect\', \'check_shop\' ); function check_shop() { if (is_shop() ) { $args1 = array( \'post_a