Home > CMS Tutorial > WordPress > body text

How to filter taxonomy articles in WordPress?

阿诚
Release: 2022-07-28 09:17:55
Original
2506 people have browsed it

The following WordPress tutorial column will introduce to you how WordPress filters background articles. I hope it will be helpful to friends in need!

In addition to its own article classification, wordpress also supports custom classifications, that is, you can register custom article classifications according to your own needs.

How to register your own custom taxonomy?

First open the WordPress core function file functions.php and insert the following code in the appropriate location

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' );
Copy after login

In this way, we have registered a custom taxonomy named 'Course'. The next step is how to set up filtered articles.

If you have a lot of articles or products, it is necessary for us to add a filtering function to the WordPress backend article list page, as shown below:

How to filter taxonomy articles in WordPress?

To achieve filtering Function requires two steps

The first step is to add the background function in the functions.php file and let the list page display this category selection

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,
              ));
       }
}
Copy after login

The second step is to implement filtering Function

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;
       }
}
Copy after login

Only the above two steps are needed to easily implement the background article filtering function, which is very practical for blog webmasters or webmasters with many background articles on their websites.

The above is the detailed content of How to filter taxonomy articles in WordPress?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template