你就是这样做的。。。
function update_post_template($post_id, $post){
//set $post_parent_id however you wish
if ($post->post_parent == $post_parent_id) {
//unhook save_post action to avoid infinite loop
remove_action(\'save_post\', \'update_post_template\');
//change template
update_post_meta( $post_id, \'_wp_page_template\', \'custom_template.php\' );
//re-hook save_post action
add_action(\'save_post\', \'update_post_template\');
}
}
add_action(\'save_post\', \'update_post_template\', 10, 2);
备注:
为了解释发生了什么,首先我们将save_post
插入/更新帖子时激发的操作。然后我们检查是否存在post_parent
id,由您决定和确定(您可能希望扩展此条件语句以涵盖多种情况)。如果我们找到匹配的,我们就会解开save_post
当我们调用update_post_meta
作用更新页面模板后,我们将重新挂钩save_post
行动起来,继续我们的快乐之路。