建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

WordPress 主题开发 - Post类型(WordPress的分类方式(taxonomy)全解析)

GG网络技术分享 2025-03-18 16:13 0


WordPress 主题开发 - Post类型

WordPress中有许多不同类型的内容。这些内容类型通常被描述为post类型,这可能有点令人困惑,因为它引用了WordPress中的所有不同类型的内容。例如,文章是特定的文章类型,页面也是。

在内部,所有日志类型都存储在同一个位置(在wp_posts数据库表中),但由一个名为post_type的字段区分。

除了默认的日志类型外,还可以创建自定义日志类型。

“模板文件”页面简要提到不同的模板文件显示不同的日志类型。由于模板文件的整体目的是以某种方式显示内容,因此日志类型的目的是对要处理的内容类型进行分类。一般来说,某些日志类型绑定到某些模板文件。

一共有5中内容类型

  • 文章 (Post Type: ‘post’)
  • 页面 (Post Type: ‘page’)
  • 附件 (Post Type: ‘attachment’)
  • 修订(Post Type: ‘revision’)
  • 导航菜单 (Post Type: ‘nav_menu_item’)

上述文章类型可以通过插件或主题进行修改和删除,但不建议删除广泛分布的主题或插件的内置功能。

作为主题开发人员,最常见的日志类型是日志、页面、附件和自定义日志类型。这超出了本手册的范围来充实修订和导航菜单的帖子类型。但是,重要的是要注意,您将与导航菜单交互并构建其功能,这将在本手册后面详细介绍。

文章类型显示相关文件:

  • single.php and single-post.php
  • category.php and all its iterations
  • tag.php and all its iterations
  • taxonomy.php and all its iterations
  • archive.php and all its iterations
  • author.php and all its iterations
  • date.php and all its iterations
  • search.php
  • home.php
  • index.php

页面类型:

  • page.php and all its iterations
  • $custom.php and all its iterations
  • front-page.php
  • search.php
  • index.php

附件类型:

  • MIME_type.php
  • attachment.php
  • single-attachment.php
  • single.php
  • index.php

自定义类型

使用自定义内容类型,您可以创建自己的内容类型。建议不要将此功能放在主题中。这种类型的功能应该放置/创建在插件中。这样可以确保用户内容的可移植性,并且如果主题被更改,存储在自定义日志类型中的内容将不会消失。

虽然您通常不会在主题中开发自定义的文章类型,但您可能希望通过代码方式来显示由插件创建的自定义文章类型。以下模板可以显示自定义日志类型:

  • single-{post-type}.php
  • archive-{post-type}.php
  • search.php
  • index.php

WordPress的分类方式(taxonomy)全解析

1、什么是分类方式

同一类事物,往往从不同的角度,可以分成不同的情形。

比如……

你衣柜里有很多的衣服(一类事物),从颜色的角度,可以分为黑色、绿色、黄色等情形;从穿在哪里的角度,可以分为上身、下身等情形;从穿着的场合,可以分为休闲、商务等情形。

那么从哪角度去归纳,那么这个角度就是分类方式。回到 WordPress,你发布的一篇篇文章就是前面案例中的“一类事物”,而分类目录和标签就是对文章归纳整理的角度,也就是所谓的“分类方式”。

2、什么是分类项目

所谓分类项目,就是从某个角度归纳,具体分出的情形。

比如,衣服从颜色的角度,可以分为黑色、绿色、黄色等情形。其中,黑色、绿色、黄色就是分类

项目。而 WordPress中,你创建的分类目录和标签,就是特定的分类方式下的分类项目。

3、WordPress分类方式和WordPress内容类型相关

当创建分类方式时,必须指出是针对哪种内容类型的。比如,分类目录这种分类方式就是针

对文章这种类型的。

4、WordPress自带的分类方式

分类目录(category),是针对文章的一种分类方式。

标签(post_tag),也是针对文章的一种分类方式。

形式(post_format),也是针对文章的一种分类方式。

菜单(nav_menu),针对菜单(menu)的一种分类方式。

5、添加自定义分类方式

// 在主题的 functions.php 中添加如下代码,可以给图片类型添加分类方式

function tiezhu_create_tax(){

$labels = array(

\'name\' => \'图片分类\',

\'singular_name\' => \'图片分类\',

\'search_items\' => \'搜索图片分类\',

\'popular_items\' => \'\',

\'all_items\' => \'所有图片分类\',

\'parent_item\' => \'父级图片分类\',

\'parent_item_colon\' => \'父级图片分类:\',

\'edit_item\' => \'编辑图片分类\',

\'view_item\' => \'查看图片分类\',

\'update_item\' => \'更新图片分类\',

\'add_new_item\' => \'添加新图片分类\',

\'new_item_name\' => \'新图片分类名\',

\'separate_items_with_commas\' => \'\',

\'add_or_remove_items\' => \'\',

\'choose_from_most_used\' => \'\',

\'not_found\' => \'未找到分类。\',

\'no_terms\' => \'没有图片分类\',

\'items_list_navigation\' => \'分类列表导航\',

\'items_list\' => \'分类列表\',

\'menu_name\' => \'图片分类\',

);

$args = array(

\'labels\' => $labels,

\'description\' => \'\',

\'public\' => true,

\'publicly_queryable\' => true,

\'hierarchical\' => false,

\'show_ui\' => true,

\'show_in_menu\' => true,

\'show_in_nav_menus\' => true,

\'show_tagcloud\' => true,

\'show_in_quick_edit\' => true,

\'show_admin_column\' => true,

\'meta_box_cb\' => null,

\'capabilities\' => array(),

\'rewrite\' => true,

\'query_var\' => true,

\'update_count_callback\' => \'\',

);

register_taxonomy(\'pic_cat\', \'pics\', $args);

}

add_action(\'init\', \'tiezhu_create_tax\');

6、分类项目归档页模版层级

特别提醒:并不是每个分类方式下的、分类项目都有归档页(可在添加自定义分类方式时指

定是否有分类项目归档页)

7、WooCommerce定义的分类方式

分类方式产品分类(product_cat)产品标签(product_tag)产品类型(product_type)产品可见性(product_visibility)配送类型(product_shipping_class)
归档页情况有归档页有归档页无归档页无归档页无归档页
针对内容类型针对产品(product)针对产品(product)针对产品(product)针对产品(product)针对产品(product)

注:WooCommerce 插件可以利用全局属性功能,让用户在前台直接创建新的分类方式。以适应具体产品的SKU

标签:

提交需求或反馈

Demand feedback