对于我的主题,我提供了“虚拟”模板。没有具体的{template}.php
我的主题中的文件,因此我对页面模板进行了如下筛选:
function my_virtual_templates( $templates ) {
$my_virtual_templates = array(
\'virtual_template_id_1\' => \'Template 1\',
\'virtual_template_id_2\' => \'Template 2\',
\'virtual_template_id_3\' => \'Template 3\'
);
// Merge with any templates already available
$templates = array_merge( $templates, $my_virtual_templates );
return $templates;
}
add_filter( \'theme_page_templates\', \'my_virtual_templates\' );
当我看到这篇文章时,我正在寻找一种“简单”的方法来在自定义帖子类型(CPT)上添加实际的帖子元框。因为我的新CPT将使用相同的“虚拟”模板阵列,所以我只需要在适当的位置设置一个post meta框。
使用theme_{$post_type}_templates 它会自动为我创建这个帖子元框区域。所以我的CPT被称为my_cpt
我添加了如下过滤器:
add_filter( \'theme_my_cpt_templates\', \'my_virtual_templates\');
现在,元框和选择器出现了,我甚至可以在批量编辑屏幕上进行更改,因为这都是内置的。非常方便!