另一个选项是将模板创建为页面模板,并具有两种CPT支持page-attributes
这样他们就可以使用页面模板。
通常将模板命名为tpl-yourname.php
它将在顶部包含一条评论:
<?php
/*
* Template Name: Your Name
* Template Post Type: cpt-slug-a, cpt-slug-b
*
模板名称将是您在编辑其中一个CPT时在下拉菜单中看到的名称。模板帖子类型需要包含帖子类型的名称,即指定为“帖子”的WP核心帖子和指定为“公文包”的称为公文包的CPT。
您还必须告诉每个CPT支持page-attributes
这样编辑器将显示模板下拉列表。
register_post_type(\'cpt-slug-a\',
// lots of other code here
// this just shows the line you need to add "page-attributes" to
\'supports\' => array(\'title\', \'editor\', \'page-attributes\');
// lots of other code here
);
只需添加
page-attributes
将CPTs支持的任何其他内容保留到阵列。
至于哪种方式是“正确的”,我认为这是一个偏好的问题。对我个人来说,这种使用页面模板的方式似乎更灵活一些,因为非技术人员可以轻松地将模板应用到编辑器中他们喜欢的任何页面,而您最初的方式需要编码才能将模板应用到任何其他页面。