• 技术文章 >CMS教程 >WordPress

    wordpress如何对分类法文章进行筛选?

    阿诚阿诚2022-07-28 09:17:55原创176
    下面由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后台文章列表页添加筛选功能,如下图:

    wp111.png

    要实现筛选的功能,需要两个步骤

    第一步,同样是在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如何对分类法文章进行筛选?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:wordpress
    上一篇:wordpress如何设置禁止访问后台? 下一篇:cms系统哪个好?十大开源CMS建站系统【总结推荐】
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• wordpress与PHP的区别是什么• 怎么安装wordpress?详解安装教程(图文)• WordPress 6.0发布!主要更新内容总结• wordpress如何设置禁止访问后台?
    1/1

    PHP中文网