如何在WordPress中创建自定义分类

很多人认为WordPress是一种博客工具,主要是因为它有帖子,类别,标签等。大多数人不知道的是,所有的帖子,类别,标签可以被自定义帖子类型和自定义分类法所取代。 在本文中,我们将向您展示如何在WordPress中创建自定义分类法以及如何在WordPress主题中显示自定义分类法。

什么是分类学?

WordPress的分类是每个人使用的东西之一,但他们不知道他们正在使用它。 派生自生物分类方法Linnaean分类法,WordPress分类法被用来将帖子和自定义帖子类型组合在一起。 WordPress有两个非常流行的分类法,人们经常使用:分类和标签(阅读:分类与标签:最佳实践)。 您可以使用自定义分类来创建自定义组,并将它们置于一个保护之下。 例如,您有一个名为Books的自定义帖子类型。 即使您可以使用类别,但您可能不想将这两者混合使用,因为它们的使用方式不同。 您可以注册一个名为“主题”的新自定义分类。 您可以添加主题词,如:冒险,浪漫,非小说等。这将允许您和您的用户按照每个主题排序。 分类标准也可以是分层的意思,你可以有主题:小说,非小说和儿童。 然后,在每个类别下面都有子主题,例如小说就会把惊悚片作为一个子主题。

现在您知道什么是自定义分类,让我们学习如何在WordPress中创建自定义分类。 我们将使用两种方法来创建自定义分类法。 方法1将为那些选择不处理代码的人使用插件。 另一方面,方法2将是那些喜欢无插件地完成任何事情的代码方法。

创建自定义分类法 – 更简单的方法

我们开始创建一个自定义分类。 首先,您需要安装并激活Simple Taxonomy WordPress插件。 去 设置»自定义分类法 创建一个新的分类标准:

在WordPress中创建自定义分类

创建一个自定义分类的第一部分是给它一个名字,它需要全部是小写的,没有奇怪的字符。 第二个选择是这个分类是否是分层的。 如果你想创建一个类似分类的分类,你可以添加一个父项和子项,然后选择True,否则如果你想要像标签一样添加条件,则选择false。

第三个选项是将此分类与邮政类型相关联,最后一个选项是您是否要自动添加条款,选择无。

但我们还没有完成。 让我们假设你正在创建一个分类,并把它称为主题。 现在您需要告诉WordPress如何为主题翻译用户界面。

翻译用户界面的分类

为用户界面提供翻译后,按添加分类按钮。 一旦创建了自定义分类标准,它就会出现在帖子下,并且会有类似或标签的类似界面。 此外,自定义分类字段也将出现在帖子编辑区域。

Post Edit区域中的自定义分类

手动创建自定义分类

在你的主题中添加下面的代码 的functions.php 文件或中 特定于站点的插件(推荐) 创建一个类似的分层定制分类:

//挂钩到init动作,并在触发时调用create_book_taxonomies
 add_action('init','create_topics_hierarchical_taxonomy',0);

 //为您的帖子创建一个自定义分类标题名称

 函数create_topics_hierarchical_taxonomy(){

 //添加新的分类,使其像分类一样分层
 //首先做GUI的翻译部分

   $ labels = array(
     'name'=> _x('Topics','taxonomy general name'),
     'singular_name'=> _x('Topic','taxonomy singular name'),
     'search_items'=> __('搜索主题'),
     'all_items'=> __('所有主题'),
     'parent_item'=> __('Parent Topic'),
     'parent_item_colon'=> __('Parent Topic:'),
     'edit_item'=> __('Edit Topic'),
     'update_item'=> __('Update Topic'),
     'add_new_item'=> __('添加新主题'),
     'new_item_name'=> __('新主题名称'),
     'menu_name'=> __('Topics'),
   );

 //现在注册分类

   register_taxonomy('topics',array('post'),array(
     'hierarchical'=> true,
     'labels'=> $ labels,
     'show_ui'=> true,
     'show_admin_column'=> true,
     'query_var'=> true,
     'rewrite'=> array('slug'=>'topic'),
   ));

 } 

要创建像标签一样的非分层定制分类,请在您的主题中添加此代码 的functions.php 或在特定于站点的插件中:

//挂钩到init动作,并在触发时调用create_topics_nonhierarchical_taxonomy

 add_action('init','create_topics_nonhierarchical_taxonomy',0);

 函数create_topics_nonhierarchical_taxonomy(){

 //标签为GUI的部分

   $ labels = array(
     'name'=> _x('Topics','taxonomy general name'),
     'singular_name'=> _x('Topic','taxonomy singular name'),
     'search_items'=> __('搜索主题'),
     'popular_items'=> __('热门话题'),
     'all_items'=> __('所有主题'),
     'parent_item'=> null,
     'parent_item_colon'=> null,
     'edit_item'=> __('Edit Topic'),
     'update_item'=> __('Update Topic'),
     'add_new_item'=> __('添加新主题'),
     'new_item_name'=> __('新主题名称'),
     'separate_items_with_commas'=> __('用逗号分隔主题'),
     'add_or_remove_items'=> __('添加或删除主题'),
     'choose_from_most_used'=> __('从最常用的主题中选择'),
     'menu_name'=> __('Topics'),
   );

 //现在注册非分层分类标签

   register_taxonomy( '主题', '后',阵列(
     'hierarchical'=> false,
     'labels'=> $ labels,
     'show_ui'=> true,
     'show_admin_column'=> true,
     'update_count_callback'=>'_update_post_term_count',
     'query_var'=> true,
     'rewrite'=> array('slug'=>'topic'),
   ));
 } 

注意两个代码之间的区别。 层次参数的值对类别分类是正确的,对于标签分类是错误的。 同样在用于非分层标签的分类标签数组中,我们为parent_item和parent_item_colon参数添加了null,这意味着UI中不会显示任何东西来创建父项。

显示自定义分类

以下是您可以如何在单个帖子页面上显示添加到自定义分类的术语。 在你的代码中添加这一行代码 single.php中 循环内的文件:

ID,'主题','主题:',',','');  ?> 

您也可以将其添加到其他文件中,例如archive.php,index.php以及任何您想要显示分类的地方。

默认情况下,你的自定义分类法使用 archive.php 模板来显示帖子。 但是,您可以通过创建自定义存档显示 taxonomy- {分类法蛞蝓} .PHP

自定义分类法可以用于很多方面。 将它们与自定义帖子类型和自定义元框相结合,您可以创建高度自定义的内容管理系统(CMS),以满足您的需求。 让我们知道您如何在您的网站上使用自定义分类法?