• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress CMS主题制作 > wordpress主题创建自定义文章类型post-type(4)——怎样添加分类功能

    wordpress主题创建自定义文章类型post-type(4)——怎样添加分类功能

    作者: 分类:wordpress CMS主题制作 点击: 6,440 次
    wordpress CMS主题:ssmay主题

      前面,我们注册了wordpress自定义文章类型——网站后台的“商城”模块,这样,我们就可以在商城里发表产品了。但是一个商城不可能只有一个类型的产品,可能有很多种类型的产品,如:服饰类、电子类、饮食类……等等。这时,我们就要对它们进行分类。所以,在注册好了wordpress自定义文章类型后,我们还要添加分类功能。

      添加分类功能我们就需要使用到register_taxonomy()函数 ,使用方法跟注册 Post Type() 函数类似,只不过多了一个参数用来指定对应的 Post Type :

      register_taxonomy( $taxonomy, $object_type, $args );

      参数解说:

      $taxonomy 字符串型,必需,分类法的名称,用英文哦
      $object_type 数组或字符串,必需,分类法所对应的文章类型
      $args--可选,配置参数

      参数使用跟 register_post_type()函数类似,这里就不多说。下面就是添加分类代码:

      function my_taxonomies_shop() {
      $labels = array(
      'name' => _x( '商城分类', 'taxonomy 名称' ),
      'singular_name' => _x( '商城分类', 'taxonomy 单数名称' ),
      'search_items' => __( '搜索商城分类' ),
      'all_items' => __( '所有商城分类' ),
      'parent_item' => __( '该商城分类的上级分类' ),
      'parent_item_colon' => __( '该商城分类的上级分类:' ),
      'edit_item' => __( '编辑商城分类' ),
      'update_item' => __( '更新商城分类' ),
      'add_new_item' => __( '添加新的商城分类' ),
      'new_item_name' => __( '新商城分类' ),
      'menu_name' => __( '商城分类' ),
      );
      $args = array(
      'labels' => $labels,
      'hierarchical' => true,
      );
      register_taxonomy( 'shop', 'book', $args );
      }
      add_action( 'init', 'my_taxonomies_shop', 0 );

      这样,wordpress后台的商城模块菜单里就会多出一个“商城分类”菜单,如下图:

      wordpress主题创建自定义文章类型post-type(4)——怎样添加分类功能

      通过上面的步骤,我们添加了后台的自定义文章类型的分类,但是在前台还不能正常显示。这时,我们要对自定义文章类型添加模板。根据“WordPress 的模板调用规则”,只需创建 category-[post_type].php 和 single-[post_type].php 就可以实现该 Post Type 的列表自定义和文章自定义。这时,当用户访问 Post Type文章或分类时,WordPress 会优先调用这些模板来渲染。

      我们前面注册的wordpress自定义文章分类名为 book ,我们先复制一个主题中的single.php和category.php文件,然后将复制的文件名改成single-book.php和category-book.php就可以了。



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201505314168.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.