wordpress如何对分类法文章进行筛选?
面由WordPress教程栏目给大家介绍wordpress如何对后台文章进行筛选的方法,希望对需要的朋友有所帮助!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;
}
}只需要以上两步就可以轻松实现后台文章筛选功能,对于博客站长或网站后台文章较多的站长来说是非常实用的。
页:
[1]