[编辑:我使用卓别林主题作为父主题]
我正在处理一个子主题,我需要为所有帖子设置一个特定的模板作为默认模板(没有自定义帖子类型,只有常规帖子)。
我想明确一点:每次用户添加新帖子时,我都需要这样做;“我的自定义模板”;被选中,而不是;默认模板;。
我向原始主题的开发人员征求建议,他指给我this answer. 然后,我编辑了代码以使其适应我的情况(因为我正在处理帖子,而不是页面)。
但是,这段代码对我不起作用,默认模板仍然是默认的
这是我正在使用的代码:
add_action(\'add_meta_boxes\', \'my_default_page_template\', 1);
function my_default_page_template() {
global $post;
if ( \'post\' == $post->post_type
&& 0 != count( get_page_templates( $post ) )
&& get_option( \'page_for_posts\' ) != $post->ID // Not the page for listing posts
&& \'\' == $post->page_template // Only when page_template is not set
) {
$post->page_template = "my-custom-template.php";
}
}
我确信我遗漏了一些东西,但我不是编码专家,需要有人给我指出正确的方向(并可能向我解释我做错了什么,以便我能学到一些东西)。
提前谢谢。