也想出现在这里?联系我们

WordPress 添加后台文章列表自定义分类筛选

2023.12.27 wordpress教程
  • 文章介绍
  • 升级版本
  • 评价&建议

要在WordPress后台文章列表中添加自定义分类筛选,您可以使用WordPress提供的一些内置功能和自定义代码。以下是一种方法:

  1. 添加自定义分类法(Custom Taxonomy):
    首先,您需要创建一个自定义分类法,以便将其应用于文章类型。假设您想要为"文章"(post)添加一个自定义分类,可以在您的主题或插件中添加以下代码:

    function custom_taxonomy() {
       $labels = array(
           'name' => '自定义分类',
           'singular_name' => '自定义分类',
           'menu_name' => '自定义分类',
       );
    
       $args = array(
           'labels' => $labels,
           'hierarchical' => true,
           'show_ui' => true,
           'show_admin_column' => true,
           'query_var' => true,
       );
    
       register_taxonomy('custom_category', array('post'), $args);
    }
    
    add_action('init', 'custom_taxonomy');

    这将在文章类型上创建一个名为"自定义分类"的自定义分类法。

  2. 添加筛选表单到文章列表页面:
    接下来,您需要在文章列表页面添加一个筛选表单。您可以使用restrict_manage_posts动作来实现这一点。将以下代码添加到您的主题的functions.php文件中:

    function custom_taxonomy_filter() {
       global $typenow;
       if ($typenow == 'post') { // 仅在文章类型页面显示
           $taxonomy = 'custom_category';
           $terms = get_terms($taxonomy);
           if ($terms) {
               echo "";
           }
       }
    }
    
    add_action('restrict_manage_posts', 'custom_taxonomy_filter');
  3. 处理筛选操作:
    最后,您需要修改WordPress查询以根据筛选条件过滤文章。添加以下代码到functions.php文件中:

    function custom_taxonomy_filter_request($query) {
       global $pagenow;
       $taxonomy = 'custom_category';
       $q_vars = &$query>query_vars;
    
       if (isset($_GET[$taxonomy]) && $pagenow == 'edit.php' && $q_vars['post_type'] == 'post') {
           $term = sanitize_text_field($_GET[$taxonomy]);
           $q_vars[$taxonomy] = $term;
       }
    }
    
    add_filter('parse_query', 'custom_taxonomy_filter_request');

现在,当您访问文章列表页面时,您应该会看到一个名为"自定义分类"的筛选下拉菜单,您可以使用它来筛选文章列表中的文章。这将根据所选的自定义分类来显示相应的文章。请确保根据您的需求进行适当的自定义和样式化。

有用0
  • 2023.12.27初次和大家见面了!

等待您对该主题的建议

发表评论

还能输入240个字

Hi, 欢迎加入Wordpress技术交流群,带你装逼带你飞!

我要入群
也想出现在这里?联系我们
wordpress加速

我来推荐一个更牛逼的给你看看?

  • 猛戳我吧