问题描述

我正在考虑在 wordpress 中重建一个 drupal 网站,我还在围绕系统之间的差异,特别是 cck /字段和自定义内容类型以及使用分类法的不同方法。

我想知道两个自定义内容类型是否可以共享一个自定义分类。在 drupal 中,我可以将特定内容类型的发布限制为一组用户,然后发布可以具有仅与一个或多个其他内容类型 (但不是所有类型) 共享的分类。

使用角色扮演器可能出现用户方面,您可以用 wordpress 来做到吗?我只看到具有自定义分类法的自定义内容类型,但没有办法在两个或更多自定义内容类型之间共享给定的分类法,而无需在两个地方重新创建,或通过类别/标签全局启用…

谢谢, – 。

最佳解决方案

在 CPT 之间共享分类

I would like to know if two custom content types can share one custom taxonomy.

简单的说:是的,他们可以。

如何分享

正如我在 this blog post 中详细阐述的那样,您应该尽可能早地注册自定义分类法和帖子类型。

将注册过程封装在一个功能中,挂钩到 init 钩子,默认优先级。

register_taxonomy(
    'some_custom_tax',
    'some_post_type',
    $array_of_arguments
);
register_post_type(
    'some_post_type',
    [
        'taxonomies' => [ 'some_custom_tax' ],
        // other arguments
    ]
);

如果您使用 register_taxonomy()的第二个参数或者使用 register_taxonomy_for_object_type(),则两者都是一样的:它们采用 $GLOBALS['wp_taxonomies']数组并为其分配类型对象 (类型) 。

重要的提示

只需确认您在注册时注册 CT 和 CPT 。否则,您将无法在查询挂钩期间访问该互连。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。