要在 WordPress 中为自定义分类法添加筛选功能,您需要进行以下步骤:

WordPress 如何做自定义分类法的筛选功能

  1. 创建自定义分类法:
    如果您还没有创建自定义分类法,可以使用 WordPress 的 register_taxonomy() 函数在您的主题或插件中创建一个。确保在注册时设置 'hierarchical' 参数为 true,以便您可以创建有层次结构的分类法。

    function custom_taxonomy() {
       $args = array(
           'hierarchical' => true,
           'label' => 'Custom Taxonomy',
           // 添加其他参数和标签设置
       );
       register_taxonomy('custom_taxonomy', 'post_type_name', $args);
    }
    add_action('init', 'custom_taxonomy');
  2. 添加筛选表单:
    在您想要显示分类筛选的页面上,添加一个筛选表单。这通常是通过创建一个 <form> 元素和 <select> 下拉菜单来完成的。每个选项的值应该对应于您的自定义分类法的术语(slug)。

  3. 处理筛选请求:
    接下来,您需要在接收到筛选请求时修改 WordPress 查询以考虑所选分类。这通常是在 functions.php 文件中完成的。

    function custom_taxonomy_filter() {
       if (isset($_GET['custom_taxonomy_filter']) && !empty($_GET['custom_taxonomy_filter'])) {
           $taxonomy_filter = $_GET['custom_taxonomy_filter'];
           $query_args = array(
               'post_type' => 'post_type_name', // 替换为您的自定义文章类型
               'tax_query' => array(
                   array(
                       'taxonomy' => 'custom_taxonomy',
                       'field' => 'slug',
                       'terms' => $taxonomy_filter,
                   ),
               ),
           );
           query_posts($query_args);
       }
    }
    add_action('pre_get_posts', 'custom_taxonomy_filter');

    请确保将 'post_type_name''custom_taxonomy' 替换为您的自定义文章类型和分类法的名称。

  4. 显示结果:
    最后,在您的模板文件中,使用 WordPress 循环来显示经过筛选的帖子。

这样,您就可以在 WordPress 中为自定义分类法添加筛选功能了。确保备份您的主题文件和数据库,以防不小心出错。