今天小编给大家分享一下wordpress怎么对分类法文章进行筛选的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
如何注册自己的自定义分类法呢?
首先打开wordpress核心函数文件functions.php,在适当位置插入以下代码
function my_custom_post_courses() { $labels = array( 'name' => _x( 'courses', 'post type 名称' ), 'singular_name' => _x( 'my_courses', 'post type 单个 item 时的名称'), 'add_new' => _x( '增加课程', '添加新内容的链接名称' ), 'add_new_item' => __( '增加一个课程' ), 'edit_item' => __( '编辑课程' ), 'new_item' => __( '新课程' ), 'all_items' => __( '所有课程' ), 'view_item' => __( '查看课程' ), 'search_items' => __( '搜索课程' ), 'not_found' => __( '没有找到有关课程' ), 'not_found_in_trash' => __( '回收站里面没有相关课程' ), 'parent_item_colon' => '', 'menu_name' => '课程' ); $args = array( 'labels' => $labels, 'description' => '我们网站的课程信息', 'public' => true, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ), 'has_archive' => true ); register_post_type( 'my_courses', $args ); } add_action( 'init', 'my_custom_post_courses' );
这样我们就注册好了一个名称为‘课程’的自定义分类法,接下来就是如何设置筛选文章。
如果你的文章或产品很多,我们就有必要在WordPress后台文章列表页添加筛选功能,如下图:
要实现筛选的功能,需要两个步骤
第一步,同样是在functions.php文件中添加后台的功能,让列表页显示这个分类选择
add_action('restrict_manage_posts', 'mycat_add_select_int'); function mycat_add_select_int(){ global $typenow; global $wp_query; if ($typenow == 'course') { return wp_dropdown_categories(array( 'show_option_all' => '课程分类', 'taxonomy' => 'course_list', 'name' => 'course_list', 'orderby' => 'name', 'selected' => @$wp_query->query['course_list'], 'hierarchical' => true, 'depth' => 5, 'show_count' => true, 'hide_empty' => false, )); } }
第二步,实现筛选的功能
add_filter('parse_query', 'mycats_add_query_init'); function mycats_add_query_init($query){ $qv = &$query->query_vars; if (($qv['course_list']) && is_numeric($qv['course_list'])) { $term = get_term_by('id', $qv['course_list'],'course_list'); $qv['course_list'] = $term->slug; } }
以上就是“wordpress怎么对分类法文章进行筛选”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。