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

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

首先,添加自定义文章类型:

/* Register Custom Post Type */
add_action( 'init', 'create_products_post_type' );
// add portfolio
function create_products_post_type() {
	$labels = array(
		'name'               => __('产品', 'WPGP'),
		'singular_name'      => __('产品', 'WPGP'),
		'add_new'            => __('添加', 'WPGP'),
		'add_new_item'       => __('新增产品', 'WPGP'),
		'edit_item'          => __('编辑产品', 'WPGP'),
		'new-item'           => __('新增产品', 'WPGP'),
		'view_item'          => __('查看产品', 'WPGP'),
		'search_items'       => __('搜索产品', 'WPGP'),
		'not_found'          => __('未找到产品', 'WPGP'),
		'not_found_in_trash' => __('垃圾箱未找到产品', 'WPGP'),
		'parent_item_colon'  => '',
	);

	$args = array(
		'labels'             => $labels,
		'show_ui'            => true,  // Whether to generate a default UI for managing this post type in the admin
		'query_var'          => true,
		'show_in_nav_menus'  => false,
		'public'             => true,  // Controls how the type is visible to authors and readers
		'capability_type'    => 'post',
		'hierarchical'       => false,
		'menu_icon'          => 'dashicons-format-gallery', // use a font icon, e.g. 'dashicons-chart-pie'
		'has_archive'        => true,  // Enables post type archives
		'rewrite'            => array( 'slug' => 'products' ),
		'supports'           => array( 'title', 'editor',  'thumbnail', 'excerpt', 'comments', 'custom-fields', 'page-attributes' ),
		'can_export'         => true,
	);

	register_post_type( 'products', $args );
}

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

/* Register Custom Taxonomies(Category) */
add_action( 'init', 'register_products_taxonomy');

// create two taxonomies, genres and writers for the post type "book"
function register_products_taxonomy() {
	// Add new taxonomy, make it hierarchical (like categories)
	$labels = array(
		'name'              => __('产品分类', 'WPGP'),
		'singular_name'     => __('产品分类', 'WPGP'),
		'menu_name'         => __('产品分类', 'WPGP'),
		'search_items'      => __('搜索', 'WPGP'),
		'all_items'         => __('所有产品分类', 'WPGP'),

		'edit_item'         => __('编辑产品分类', 'WPGP'),
		'update_item'       => __('更新产品分类', 'WPGP'),
		'add_new_item'      => __('添加新的产品分类', 'WPGP'),
		'new_item_name'     => __('新的产品分类', 'WPGP'),
	);

	$args = array(
		'hierarchical'      => true,
		'labels'            => $labels,
		'show_ui'           => true,
		'show_in_menu'      => true,
		'show_in_nav_menus' => true,   
		'query_var'         => true,
		'has_archive'       => false,
		'rewrite'           => array( 'slug' => 'product' ),
	);

	register_taxonomy( 'product', 'products', $args );
}

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

// admin page products orderby
add_filter( 'parse_query', 'sort_products_by_date' );
function sort_products_by_date() {
	global $pagenow;

	if ( is_admin() && $pagenow =='edit.php' &&  !empty($_GET['post_type'] == 'products') && !isset($_GET['post_status']) && !isset($_GET['orderby']) ) {
		wp_redirect( admin_url('edit.php?post_type=products&orderby=date&order=desc') );
		exit;
	}
}

做起来还是算比较简单的,你也可以去试试了。有什么问题或者建议可以在下面留言!

这篇文章如果帮到了你 打赏

展开阅读全文

分享到: 更多 (0)
赞(0)
如果文章内容或图片资源失效或者您对文章有异议,请留言反馈或点击右下角邮件图标发送邮件说明情况,我们会及时处理,谢谢!
  • WordPress 5.0 换回原有”Classic Editor”经典编辑器的三种方法
    WordPress 5.0 正式采用了全新的“Block Editor”编辑器,从而替换了原有“Classic Editor”编辑器,相信有很多人都不习惯或者不喜欢新编辑器,那么新版 WordPress 该如何换回原来的 WordPress...
  • WordPress主题给自定义文章Portfolio添加筛选功能Filter
    我们在做WordPress主题时,都喜欢使用自定义文章类型来丰富主题的功能。这个时候免不了需要给自定义文章做个类别或者标签筛选功能,今天WP零伍利用 Isotope 来给自定义文章添加筛选功能。 首先我们必须添加自定义文章类型以及自定义文章...
  • 代码实现网站外链自动转换为内链
    实现步骤: 首先复制以下代码,添加到主题目录下的function.php文件中 /*  *自动给文章的外部链接添加nofollow属性  */    add_filter('the_content','web589_the_content_...
  • DUX主题文章页相关推荐双栏显示
    DUX主题是themebetter原创开发的一款基于WordPress程序的多功能主题,响应式布局,不同设备不同展示效果,简洁大气  ,多设备支持、优化SEO,适用于垂直站点、科技博客、个人站,目前我站点使用的就是DUX主题,作为一个喜欢折...
  • 纯代码实现WordPress文章页展开收缩功能
    网上关于实现文章内容“展开/收缩”效果的方法有很多,但是有很多代码似乎已经不可用,而另一些虽然可用但是前端显示效果不怎么美观,于是我便根据网上的一些代码进行了些许的改动便有了这篇文章。下面我们就来具体了解下如何实现文章内容的“展开/收缩”功...
  • 为亮点功能添加快捷按钮
    其实该功能主要是通过 CSS 样式的调整来实现的,实现方式虽然简单但是前端显示效果确实不错,官方给出的调用方式也极其简单,通过下面两行代码调用: <ol class="liangdian"> <li><stro...
  • WordPress 后台文章编辑器添加下拉式短代码选择
    // 后台编辑器添加下拉式按钮 function wzt_select(){ echo ' <select id="short_code_select"> <option value="请选择一个短代码!!!">插入...
  • 怎样在wordpress使用Font Awesome字体图标
    Font Awesome是一款矢量的图标或可以称为字体图标,他的所有属性都可以通过CSS进行设定,包括:大小、颜色、阴影或者其它任何支持的效果。不旦有效解决了图像加载慢的问题,而且好提供了超过5000+的图标方案。 在wordpress使用...
  • WordPress 批量删除所有文章的特色图像
    说到 WordPress 的特色图像功能,相信大家都比较熟悉了,今天分享 批量删除所有文章的特色图像 的方法,或许有些朋友会用得上。将下面的代码添加到当前主题的 functions.php : /** * WordPress 批量删除所有文...
  • wow.js中各种特效对应的类名
    一、(页面在向下滚动的时候,有些元素会产生细小的动画效果。虽然动画比较小,但却能吸引你的注意。) 刚知道wow.js这个插件,之前访问别的网站下拉滚动条会出现各种效果感觉特别神奇,现在自己依葫芦画瓢也能弄出来这种效果了。 虽然效果出来了,但...
  • WordPress函数add_image_size修改缩略图大小
    在做主题的时候,总有一些细节的东西,需要我们去慢慢体验并优化,就像add_image_size()这个函数,是用来设置 WordPress 中上传图片缩略图大小的一个函数,此函数的得当设置,可以很好的配合你主题内容区域的图片展示,省去你在写...
  • WordPress获取网站根目录、主题目录、插件目录路径和url地址
    标题描述很清楚,就是获取根目录、主题目录、插件目录路径的介绍,当你写个主题或者插件的时候一定会用到,就不多啰嗦直接给出代码吧 站点路径相关函数 home_url() 返回站点路径,相当于后台设置->常规中的”站点地址(URL)” $u...

评论 抢沙发



觉得文章有用就赞赏支持一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏