EDIT 正如在对您的问题的评论中所指出的,最好的方法就是编辑您的page.php
文件如果您希望所有页面都具有相同的页面模板,而不需要做任何额外的设置,那么很明显这是一个好主意
然后,可以为不使用默认页面模板的页面创建自定义页面模板。这几乎就是这个系统的目的!
如果你坚持:
每个页面的页面模板实际上存储为一个自定义字段,您可以循环代码中的每个帖子并以这种方式设置页面模板,而不是在数据库中手动执行。见下文:
add_action( \'admin_init\', \'set_page_templates\' );
function set_page_templates(){
foreach( get_posts(\'post_type=page&posts_per_page=-1\') as $page ) {
$current_template = get_post_meta( $page->ID, \'_wp_page_template\', true );
$new_template = \'new_template.php\';
if( $current_template != $new_template )
update_post_meta( $page->ID, \'_wp_page_template\', $new_template );
}
}
可能会有更好的操作来启用它,因为它将在每次加载管理页面时运行。也许您可以运行一次,然后删除代码,这样应该可以很好地工作。或者,您可以将其挂在
save_post
如果页面模板不是您在保存帖子或页面时想要的,则自动更改页面模板的操作(实际上将返回您作为函数参数之一保存的页面ID)(当然跳过
foreach
在这种情况下)。