很多人认为WordPress是一种博客工具,主要是因为它有帖子,类别,标签等。大多数人不知道的是,所有的帖子,类别,标签可以被自定义帖子类型和自定义分类法所取代。 在本文中,我们将向您展示如何在WordPress中创建自定义分类法以及如何在WordPress主题中显示自定义分类法。
什么是分类学?
WordPress的分类是每个人使用的东西之一,但他们不知道他们正在使用它。 派生自生物分类方法Linnaean分类法,WordPress分类法被用来将帖子和自定义帖子类型组合在一起。 WordPress有两个非常流行的分类法,人们经常使用:分类和标签(阅读:分类与标签:最佳实践)。 您可以使用自定义分类来创建自定义组,并将它们置于一个保护之下。 例如,您有一个名为Books的自定义帖子类型。 即使您可以使用类别,但您可能不想将这两者混合使用,因为它们的使用方式不同。 您可以注册一个名为“主题”的新自定义分类。 您可以添加主题词,如:冒险,浪漫,非小说等。这将允许您和您的用户按照每个主题排序。 分类标准也可以是分层的意思,你可以有主题:小说,非小说和儿童。 然后,在每个类别下面都有子主题,例如小说就会把惊悚片作为一个子主题。
现在您知道什么是自定义分类,让我们学习如何在WordPress中创建自定义分类。 我们将使用两种方法来创建自定义分类法。 方法1将为那些选择不处理代码的人使用插件。 另一方面,方法2将是那些喜欢无插件地完成任何事情的代码方法。
创建自定义分类法 – 更简单的方法
我们开始创建一个自定义分类。 首先,您需要安装并激活Simple Taxonomy WordPress插件。 去 设置»自定义分类法 创建一个新的分类标准:
创建一个自定义分类的第一部分是给它一个名字,它需要全部是小写的,没有奇怪的字符。 第二个选择是这个分类是否是分层的。 如果你想创建一个类似分类的分类,你可以添加一个父项和子项,然后选择True,否则如果你想要像标签一样添加条件,则选择false。
第三个选项是将此分类与邮政类型相关联,最后一个选项是您是否要自动添加条款,选择无。
但我们还没有完成。 让我们假设你正在创建一个分类,并把它称为主题。 现在您需要告诉WordPress如何为主题翻译用户界面。
为用户界面提供翻译后,按添加分类按钮。 一旦创建了自定义分类标准,它就会出现在帖子下,并且会有类似或标签的类似界面。 此外,自定义分类字段也将出现在帖子编辑区域。
手动创建自定义分类
在你的主题中添加下面的代码 的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),以满足您的需求。 让我们知道您如何在您的网站上使用自定义分类法?