代码,它似乎工作得很好。您最初使用:
page_template_dropdown($template);
这是完全正确的。但是
$template
应该包含当前帖子的模板。但你却没有做到这一点。在下拉列表上方的核心代码中,它们具有:
$template = !empty($post->page_template) ? $post->page_template : false;
这就是为什么。如何检索当前帖子的模板将取决于存储它的方式。
此外,我会使用page_template_dropdown
而不是您自己定义但相同的函数template_dropdown
(减少代码重复:))
旁注:
在metabox回调中,
pagetemplate
, 您可以:
function pagetemplate(){
global $post;
....
}
最好使用以下事实:
$post
对象作为参数传递:
function pagetemplate( $post ){
....
}