“关于最佳方法的建议”问题在这里并不适合提出很好的问题,因为它们往往涉及面很广,并受意见的影响,但我会给你一些选择,并希望是最好的。
选项1:
您应该能够使用普通页面进行此操作。正如您在第一个选项中考虑的那样,为自定义内容创建模板。然后,您可以根据这些模板选择有条件地添加元数据库。
function conditional_box_loader($post) {
$template = (!empty($post->page_template)) ? $post->page_template : \'default\';
switch ($template) {
case \'template-one.php\' :
// add metaboxes for this template
break;
case \'template-two.php\' :
// add metaboxes for this template
break;
default :
// add fallback boxes, if required.
add_meta_box(
\'read_only_content_box\', // id, used as the html id att
__( \'Post Content (Read Only)\' ), // meta box title
\'read_only_cb\', // callback function, spits out the content
\'page\', // post type or page. This adds to posts only
\'advanced\', // context, where on the screen
\'low\' // priority, where should this go in the context
);
}
}
// callback I stole from another answer I wrote earlier today
function read_only_cb($post) {
echo apply_filters(\'the_content\',$post->post_content);
}
选项2:您可以用CPT做基本相同的事情,而专用的帖子类型可能更方便。
选项3:
您可以根据帖子标题、ID进行切换,或者创建一个带有“主”开关的元框,该开关允许您选择要启用的元框“集”,而不是根据模板选择进行切换。