是否使用自定义帖子作为分类术语元替换?

时间:2012-09-19 作者:djb

分类法对各种事物都非常有用。但作为many have pointed out 它们缺乏携带元数据的能力。

假设我的站点上只有没有“自然”父级的帖子,为什么我不将帖子附加到post\\u父级来进行分类,并将元数据存储在父级的post\\u meta中?

FOR EXAMPLE

我有一个CPT“birds”和一个分类法“user\\u bird\\u collection”。

我有一个用户,杰克,我想把金丝雀加入他的收藏。

With a taxonomy

我在user\\u bird\\u集合中创建(或附加)一个称为“Jack”的术语(或更独特的名称,如他的UID),将金丝雀添加到术语中。

当杰克走向我的小鸟。我向他展示了他任期内的所有鸟类。

如果他想做得更好,给他的金丝雀起个名字,我就很为难了,因为我必须为金丝雀和杰克的收藏之间的关系添加元数据。

With post_parents

我以Jack为作者创建了一个新帖子,其post\\u父对象是金丝雀的ID。

当杰克进入收藏页面时,我向他展示了所有属于他的帖子,我巧妙地将所有对鸟类细节、图片等的需求转移到了原来的金丝雀上。

当他想给自己的金丝雀命名时,我所需要做的就是在杰克的帖子中添加元数据——实际上是他自己的金丝雀副本,一种围绕它的包装。

OBVIOUS ADVANTAGES

<查询同样简单
  • 我可以使用post_meta向原始鸟或个性化鸟添加任意多的元数据
  • 3 个回复
    SO网友:Adam

    您可以添加分类元数据,类似于add_post_meta 这样做的一些例子包括:,

    Tutorial Walk-Through

    Taxonomy Metadata Class (improved version of above)

    我自己也曾使用过这个课程,它也是由WPSE的一位著名成员和主持人编写的-> Bainternet, 它照盒子上说的做了。

    Plugin

    Tutorial Walk-Through

    That aside...

    如果您有一个名为Jack 例如,为什么不通过元框中的post meta字段将用户分配到自定义post类型?

    所以你会看到,

    add_meta_box

    add_post_meta

    您仍然可以使用自定义分类法来帮助您进一步对数据进行分类或分组,但您所要实现的很多功能都非常简单,就像您从使用posta元数据开始一样(即add\\u post\\u meta)

    为了简化问题,您可以创建一个meta box类来推出您的解决方案,

    http://en.bainternet.info/2012/how-i-add-a-wordpress-metaboxhttp://www.deluxeblogtips.com/meta-box/http://www.farinspace.com/wpalchemy-metabox/

    我已经用了以上所有的,每一个都很好。我仍然在使用WPAlchemy和Deluxe博客提示中的Meta Box类。至于Bainternet,这个类没有什么错,只是已经使用了太多。所以你自己选吧。

    更新我的方法是,

    创建自定义帖子类型BirdsBird Type

    在下拉列表中列出用户。用户的名称。程序如下:,

    a)添加一只鸟,如金丝雀;b)添加一个与鸟名匹配的分类术语,如金丝雀;c)在我的元框中添加一个与该鸟相关的用户;d)如果在创建时可用,请使用一个可重复的字段添加用户为鸟选择的给定名称Add Now 按钮,您可以添加其他用户。而是将所有元字段分组到一个帖子中meta_key, 您需要为希望与bird关联的每个用户创建单独的post元键,否则最终将得到查询速度较慢的序列化数据。

    Even this approach can be improved.

    相反,您可以通过user Meta将分类法“Canary”与用户关联起来。

    对于用户集合中的每种类型的鸟,可以使用add\\u user\\u meta应用用户为鸟选择的名称。

    您通过以下方式创建的元框add_meta_box 不限于使用add_post_meta etc函数,您可以编写要使用的函数add_user_metaupdate_user_meta 相反等等等等。

    这将在每个元素之间留下清晰的分隔。

    自定义贴子类型是针对鸟的,可能会解释鸟及其起源等。分类法是针对鸟的分类。元框/用户元功能是将分类法和鸟的名字与用户关联post_parents 我不得不说,这个想法真的不是一个好主意,因为如果我们已经有了分类法和用户表,可以与自定义帖子类型的Posts表一起使用,那么为原本是元数据的内容创建新帖子就等于膨胀了。

    SO网友:helenhousandi

    除此之外,我看不出有什么问题,因为只有一个后家长。使用posts-to-posts类型的关系(允许多对多)将是另一种途径,其中您的“分类术语”实际上是自定义post类型的post,因此可以将内容(甚至分类法等)与之关联。可爱的Posts 2 Posts 插件使这一点更容易实现,并且有UI可引导。

    SO网友:sxalexander

    截至年月日WordPress 4.4, 分类术语meta现在是WordPress的一部分core.

    您可以使用以下新功能来管理术语元:

    结束

    相关推荐

    列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

    这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在