WordPress创建商品类型和商品分类法

要说WordPress程序对于初学者来说,个人觉得最难的就是 自定义类型 和 自定义分类法 这两个东西,基本掌握了类型和分类法,简单的WordPress 仿站建站就不成问题了。

最近小编就被WordPress这分类法给整的稀里糊涂,一般企业站那必须要 产品分类的嘛,但WordPress只有一个文章分类。文章和产品的页面肯定是不太一样的,所以要使用WordPress程序制作企业站就必须创建一个自定义文章类型和自定义分类法。

什么是 自定义文章类型 ?

WordPress给出了一个模板就是后台的文章类型,在代码中程序的形式是 post type。那么我们要创建一个区别于 post type的文章类型,就是自定义文章类型了。

创建 自定义文章类型 ?

依旧的WordPress 给出了 register_post_type 这个函数,它可以让我们自由的创建自定义文章类型。

  1. register_post_type( $post_type, $args );

$post_type参数就是自定义文章类型的名称;$args参数用于自定义文章类型的功能,因为可以自定义的功能很多,所以通常会用下面这种格式来注册:

  1. function my_custom_post_product() {
  2. $labels = array(
  3. 'name' => _x( 'products', 'post type 名称' ),
  4. 'singular_name' => _x( 'product', 'post type 单个 item 时的名称,因为英文有复数' ),
  5. 'add_new' => _x( '增加产品', '添加新内容的链接名称' ),
  6. 'add_new_item' => __( '增加一个产品' ),
  7. 'edit_item' => __( '编辑产品' ),
  8. 'new_item' => __( '新产品' ),
  9. 'all_items' => __( '所有产品' ),
  10. 'view_item' => __( '查看产品' ),
  11. 'search_items' => __( '搜索产品' ),
  12. 'not_found' => __( '没有找到有关产品' ),
  13. 'not_found_in_trash' => __( '回收站里面没有相关产品' ),
  14. 'parent_item_colon' => '',
  15. 'menu_name' => 'Products'
  16. );
  17. $args = array(
  18. 'labels' => $labels,
  19. 'description' => '我们网站的产品信息',
  20. 'public' => true,
  21. 'menu_position' => 5,
  22. 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
  23. 'has_archive' => true
  24. );
  25. register_post_type( 'product', $args );
  26. }
  27. add_action( 'init', 'my_custom_post_product' );

创建自定义分类法

添加分类功能需要使用函数register_taxonomy(),使用方法和注册自定义文章类型函数类似,区别是多了一个参数用来关联对应的自定义文章类型。

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

$taxonomy 字符串型,必需,分类法的名称,用英文;

$object_type数组或字符串,必需,分类法所对应的文章类型(如前面小编创建的自定义文章类型product)

$args配置参数,可选,跟register_post_type函数的$args参数类似

  1. function my_taxonomies_product() {
  2. $labels = array(
  3. 'name' => _x( '产品分类', 'taxonomy 名称' ),
  4. 'singular_name' => _x( '产品分类', 'taxonomy 单数名称' ),
  5. 'search_items' => __( '搜索产品分类' ),
  6. 'all_items' => __( '所有产品分类' ),
  7. 'parent_item' => __( '该产品分类的上级分类' ),
  8. 'parent_item_colon' => __( '该产品分类的上级分类:' ),
  9. 'edit_item' => __( '编辑产品分类' ),
  10. 'update_item' => __( '更新产品分类' ),
  11. 'add_new_item' => __( '添加新的产品分类' ),
  12. 'new_item_name' => __( '新产品分类' ),
  13. 'menu_name' => __( '产品分类' ),
  14. );
  15. $args = array(
  16. 'labels' => $labels,
  17. 'public' => true,
  18. 'show_in_nav_menus' => true,
  19. 'hierarchical' => true, //控制自定义分类法的格式,如果值是false,则将分类(category)转化成标签(tags)
  20. 'show_ui' => true,
  21. 'query_var' => true,
  22. 'rewrite' => true,
  23. 'show_admin_column' => true
  24. );
  25. register_taxonomy( 'products', 'product', $args );//products是该自定义分类法的名称;product是对应的自定义文章类型名称
  26. }
  27. add_action( 'init', 'my_taxonomies_product', 0 );

调用自定义分类法文章

自定义分类法的分类列表页面模板文件是taxonomy.phptaxonomy-{taxonomy_slug}.phptaxonomy.php是所有自定义分类法默认调用的模板文件,taxonomy-{taxonomy_slug}.php则是指定自定义分类法调用的模板文件,比如本教程中创建的自定义分类法products,使用taxonomy-products.php文件即可指定调用。

问题

在小编实际操作下发现一个问题,自定义文章类型是 product  自定义分类法是 products。

当访问产品的分类页归档页 链接显示的是: xxx.com/products;

当访问产品详情页时链接显示的却是: xxx.com/product/xx.html;

这个问题小编到目前为止依旧没有解决,欢迎大家评论帮助小编解决这个问题。

文章链接: https://www.mfisp.com/1502.html

文章标题:WordPress创建商品类型和商品分类法

文章版权:梦飞科技所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    建站教程

    WordPress B2主题 商品分类页调用商品属性的方法

    2021-10-29 11:41:58

    建站教程

    关于WordPress主题制作的常用函数解析

    2021-11-26 15:28:14

    0 条回复 A文章作者 M管理员
    如果喜欢,请评论一下~
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索

    梦飞科技 - 最新云主机促销服务器租用优惠