自定义分类法的用途是什么?

时间:2016-11-24 作者:newjonnydepony

我想知道custom taxonomy 是阅读有关如何创建custom post type 我经常读到关于自定义分类法的文章。但我真的搞不清楚这背后的概念是什么,因为类别也可以用于自定义帖子类型,那么为什么要使用自定义分类法呢?什么时候最好使用自定义分类法而不是类别。Can anyone explain the concept behind custom taxonomies?

4 个回复
最合适的回答,由SO网友:GKS 整理而成

Taxonomy

本质上,分类法是对数据进行分类的一种方法。通常,分类法将具有一组独特的特征。

在WordPress中,默认情况下,它有四个分类法:post tag、categories、link categories和post Formats。显而易见,如果一个分类法与另一个数据类型具有相同的特性,那么它就不会是一个不同的分类法!这些特征的示例如下:

SO网友:Benoti

自定义分类法背后的概念是为一个或多个帖子类型分离或创建不同类型的类别。某些术语和post类型仅适用于特定类型的数据。

一个简单的例子是,如果你的网站是一个博客和一家商店。

自定义帖子类型“product”有一个自定义类别,它不会与博客帖子类别混合。“产品编辑”页面上将不提供帖子类别分类法,并且该产品类别将不适用于帖子类型。如果查询某个分类法,则可以加载特殊模板。

所有这些行为都可以通过过滤器和操作进行更改和设置,具体取决于通过所需函数传递的参数。

SO网友:prosti

通常通过以下函数定义自定义分类:

function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
以下是参数:

 * @param string       $taxonomy    Taxonomy key, must not exceed 32 characters.
 * @param array|string $object_type Name of the object type for the taxonomy object.
 * @param array|string $args        {
 *     Optional. 
第一个参数通常称为分类名称。第二个参数,您需要设置应用这些分类法的位置。第二个参数可以是对象类型或对象类型数组。通常,这些是您拥有的帖子类型或自定义帖子类型。但您甚至可以将其保留为空“”,并在稍后创建自定义帖子类型时定义应使用的分类法。

第三个参数可以留空,在这种情况下,将使用默认值。目前是默认值。

$defaults = array(
        \'labels\'                => array(),
        \'description\'           => \'\',
        \'public\'                => true,
        \'publicly_queryable\'    => null,
        \'hierarchical\'          => false,
        \'show_ui\'               => null,
        \'show_in_menu\'          => null,
        \'show_in_nav_menus\'     => null,
        \'show_tagcloud\'         => null,
        \'show_in_quick_edit\'    => null,
        \'show_admin_column\'     => false,
        \'meta_box_cb\'           => null,
        \'capabilities\'          => array(),
        \'rewrite\'               => true,
        \'query_var\'             => $taxonomy,
        \'update_count_callback\' => \'\',
        \'_builtin\'              => false,
    );
以下是示例:

    register_taxonomy(
            \'people\',
            array (\'post\', \'your_custom_post_type\'),
            array(
                \'label\' => __( \'People\' ),
                \'rewrite\' => array( \'slug\' => \'person\' ),
                \'capabilities\' => array(
                    \'assign_terms\' => \'edit_guides\',
                    \'edit_terms\' => \'publish_guides\'
                )
            )
        );
现在,从四种主要的自定义分类法类型来看,我认为常用的是post标记和post类别。

Post Tag: acts like a label, attached to a post.
Category: acts like a "bucket" in which we put posts, are often hierarchical. Posts can live in multiple categories.
Link Category: acts like a label, attached to a link.
Post Formats: data represent of a post and can be used by the theme.
另外两个不是那么频繁。例如,帖子格式以前用于主题(TwentyEleven),但TwentyEleven没有帖子格式。碰巧他们没有那么吸引人。

最后,定义自定义分类法仅仅是工作的一半。另一半是为了使用自定义post类型的分类法。

register_post_type(
     \'your_custom_post_type\'
    ,array(
        \'taxonomies\' => array( \'people\' )
        // other arguments
     )
);
我从this 邮递

SO网友:Yogesh Yadav

“自定义分类法”是一个简单的wordpress插件,用于不同的目的,如为两个类别添加一些特色图像;标签,并显示在WordPress站点上的小部件或快捷码中,以及许多其他帖子等。

相关推荐