首頁  >  文章  >  CMS教程  >  wordpress如何對分類法文章進行篩選?

wordpress如何對分類法文章進行篩選?

阿诚
阿诚原創
2022-07-23 14:19:452502瀏覽

以下由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後台文章列表頁添加篩選功能,如下圖:

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如何對分類法文章進行篩選?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn