首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要分配自定义分类到特定的php模板的页面- Wordpress

问需要分配自定义分类到特定的php模板的页面- Wordpress
EN

Stack Overflow用户
提问于 2020-05-01 21:55:14
回答 2查看 607关注 0票数 0

我在Wordpress中创建了名为'consultants_category‘的自定义分类法,并将其分配给自定义帖子类型。现在我需要将这个分类法分配给具有特定php模板的页面- 'page-consultants.php‘。

Wordpress有分配自定义分类法'register_taxonomy_for_object_type‘(https://developer.wordpress.org/reference/functions/register_taxonomy_for_object_type/)的功能,但当我使用它时-我的分类法(自定义类别)显示在所有wp页面的后端,我不知道如何只使用特定页面模板的页面。

下面是我需要实现的粗略想法(获取所有wp页面,过滤所有页面,以获得仅具有特定php模板的页面,->仅分配自定义分类到过滤后的页面):

代码语言:javascript
复制
function add_taxonomies_to_pages() {
$pages = get_pages(
     array(
    'meta_key' => '_wp_page_template',
    'meta_value' => 'page-consultants.php'
       )
);

foreach($pages as $page){
 register_taxonomy_for_object_type( 'consultants_category', 'pages');
}
}

add_action( 'init', 'add_taxonomies_to_pages' );

都会很感谢你的帮助。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-05-01 23:11:34

如果您注册了一个分类法,您可以选择分类应该注册到的帖子类型。https://codex.wordpress.org/Function_Reference/register_taxonomy

在您的情况下,这将是页面。这将影响所有页面,因为它们都是"page“类型。

如果你想从页面中分离出来,你可以创建另一个帖子类型。

使用您的函数,您可以添加另一个要注册到分类法的类型。此register_taxonomy_for_object_type用于将已注册的分类法添加到对象类型。我们讨论的是类型,所以分类法现在对所有页面都可用是正确的行为。

我不太确定我是否把你的问题弄对了。但如果您希望将页面模板分配给单个特定页面,您可以在后台编辑页面时,在页面属性中选择页面模板。

因此,您可以为只想要分类的页面创建另一个帖子类型,也可以制作页面模板来编辑单个页面的模板。我真的不知道你的问题是什么意思。

也许你可以写出更多的细节,你到底想做什么,以及你遇到了什么问题。

票数 0
EN

Stack Overflow用户

发布于 2020-05-02 01:44:02

如果我从您的问题和评论中正确理解,您正在寻找的是该自定义分类的归档:

最好复制层次结构中的下一个文件,而不是从空文件开始。如果您已经创建了一个archive.php,请创建一个名为category.php的副本并对其进行修改以满足您的设计需要。如果您没有archive.php文件,请使用主题的index.php副本作为起点。

摘自:https://developer.wordpress.org/themes/template-files-section/taxonomy-templates/

因此,您基本上需要获取archive.php,创建一个副本并将其命名为consultants_category.php -然后在该文件布局中以您需要的方式显示内容。使用archive.php文件作为起点,并根据需要进行修改。当您这样做时,它被预先构建为接受您的consultants_category分类法,确定它需要显示该分类法中的哪个特定术语,然后输出您指定的布局。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61543853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档