在子主题中,将CPT添加到父主题中注册的自定义分类

时间:2020-11-03 作者:Ryan Patterson

我正在将Divi与儿童主题结合使用。Divi(父主题)有一个名为project 和两种自定义分类法,project_categoryproject_tag.

在我的孩子主题中,我创建了一个名为external_project. 我希望这个新创建的CPT与内置项目post类型共享相同的分类法。注册此CPT时,我添加了\'taxonomies\' => array( \'project_category\', \'project_tag\' ), 到args。但他们没有出现。因此,我假设还需要将这个新创建的CPT添加到与自定义分类法关联的对象类型数组中。

我尝试了以下方法。我认为这不管用,但我只是想尝试一下,当然没用。所以不要对我太苛刻了哈哈

function add_cpt_to_project_tax() {
    register_taxonomy(\'project_category\', array(\'project\', \'external_project\'));
    register_taxonomy(\'project_tag\', array(\'project\', \'external_project\'));
}
add_action(\'after_setup_theme\', \'add_cpt_to_project_tax\');
所以我的问题是。。。有人知道我可以创建一个钩子或函数,将在我的子主题中新创建的CPT添加到父主题中注册的自定义分类法中吗?我很难在网上找到任何有助于我的特定场景的例子,或者在法典中找到任何有助于我的特定场景的东西。任何帮助都将不胜感激。

1 个回复
SO网友:Ryan Patterson

好吧,在又一个小时的抄本挖掘之后,我找到了一个解决方案。希望这能帮助其他遇到同样问题的人。我必须使用register_taxonomy_for_object_type 作用然后我用init 钩这是对我有用的函数。

function add_cpt_to_project_tax(){
    register_taxonomy_for_object_type(\'project_category\', \'external_project\');
    register_taxonomy_for_object_type(\'project_tag\', \'external_project\');
}
add_action(\'init\',\'add_cpt_to_project_tax\');

相关推荐

OOP development and hooks

我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private