WordPress主题添加自定义文章类型register_post_type和分类法

wordpress 功能强大之处其中之一就是支持自定义文章类型和分类,非常的好用。本文给大家简单说一下如何在我们的主题中添加自定义文章类型 register_post_type 和分类 register_taxonomy。首先,添加自定义文章类型:

  1. /* Register Custom Post Type */
  2. add_action( 'init', 'create_products_post_type' );
  3. // add portfolio
  4. function create_products_post_type() {
  5. 	$labels = array(
  6. 		'name'               => __('产品', 'WPGP'),
  7. 		'singular_name'      => __('产品', 'WPGP'),
  8. 		'add_new'            => __('添加', 'WPGP'),
  9. 		'add_new_item'       => __('新增产品', 'WPGP'),
  10. 		'edit_item'          => __('编辑产品', 'WPGP'),
  11. 		'new-item'           => __('新增产品', 'WPGP'),
  12. 		'view_item'          => __('查看产品', 'WPGP'),
  13. 		'search_items'       => __('搜索产品', 'WPGP'),
  14. 		'not_found'          => __('未找到产品', 'WPGP'),
  15. 		'not_found_in_trash' => __('垃圾箱未找到产品', 'WPGP'),
  16. 		'parent_item_colon'  => '',
  17. 	);
  18. 
    
  19. 	$args = array(
  20. 		'labels'             => $labels,
  21. 		'show_ui'            => true,  // Whether to generate a default UI for managing this post type in the admin
  22. 		'query_var'          => true,
  23. 		'show_in_nav_menus'  => false,
  24. 		'public'             => true,  // Controls how the type is visible to authors and readers
  25. 		'capability_type'    => 'post',
  26. 		'hierarchical'       => false,
  27. 		'menu_icon'          => 'dashicons-format-gallery', // use a font icon, e.g. 'dashicons-chart-pie'
  28. 		'has_archive'        => true,  // Enables post type archives
  29. 		'rewrite'            => array( 'slug' => 'products' ),
  30. 		'supports'           => array( 'title', 'editor',  'thumbnail', 'excerpt', 'comments', 'custom-fields', 'page-attributes' ),
  31. 		'can_export'         => true,
  32. 	);
  33. 
    
  34. 	register_post_type( 'products', $args );
  35. }

接下来我们需要给自定义文章类型添加分类功能,来对自定义文章进行分类管理:

  1. add_action( 'init', 'register_products_taxonomy');
  2. 
    
  3. // create two taxonomies, genres and writers for the post type "book"
  4. function register_products_taxonomy() {
  5. 	// Add new taxonomy, make it hierarchical (like categories)
  6. 	$labels = array(
  7. 		'name'              => __('产品分类', 'WPGP'),
  8. 		'singular_name'     => __('产品分类', 'WPGP'),
  9. 		'menu_name'         => __('产品分类', 'WPGP'),
  10. 		'search_items'      => __('搜索', 'WPGP'),
  11. 		'all_items'         => __('所有产品分类', 'WPGP'),
  12. 		'parent_item'       => __( '该产品分类的上级分类' ),
  13. 		'parent_item_colon' => __( '该产品分类的上级分类:' ),
  14. 		'edit_item'         => __('编辑产品分类', 'WPGP'),
  15. 		'update_item'       => __('更新产品分类', 'WPGP'),
  16. 		'add_new_item'      => __('添加新的产品分类', 'WPGP'),
  17. 		'new_item_name'     => __('新的产品分类', 'WPGP'),
  18. 	);
  19. 
    
  20. 	$args = array(
  21. 		'hierarchical'      => true,
  22. 		'labels'            => $labels,
  23. 		'show_ui'           => true,
  24. 		'show_in_menu'      => true,
  25. 		'show_in_nav_menus' => true,
  26. 		'query_var'         => true,
  27. 		'has_archive'       => false,
  28.                 'show_admin_column' => true,
  29. 		'rewrite'           => array( 'slug' => 'product' ),
  30. 	);
  31. 
    
  32. 	register_taxonomy( 'product', 'products', $args );
  33. }

最后,添加一个控制 WordPress 后台自定义文章页文章排序的小功能:

  1. // admin page products orderby
  2. add_filter( 'parse_query', 'sort_products_by_date' );
  3. function sort_products_by_date() {
  4. 	global $pagenow;
  5. 
    
  6. 	if ( is_admin() && $pagenow =='edit.php' &&  !empty($_GET['post_type'] == 'products') && !isset($_GET['post_status']) && !isset($_GET['orderby']) ) {
  7. 		wp_redirect( admin_url('edit.php?post_type=products&orderby=date&order=desc') );
  8. 		exit;
  9. 	}
  10. }

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/85694

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

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

51建站客服微信二维码
点击这里购买