WordPress 如何做自定义分类法的筛选功能
要在 WordPress 中为自定义分类法添加筛选功能,您需要进行以下步骤:
-
创建自定义分类法:
如果您还没有创建自定义分类法,可以使用 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');
-
添加筛选表单:
在您想要显示分类筛选的页面上,添加一个筛选表单。这通常是通过创建一个<form>
元素和<select>
下拉菜单来完成的。每个选项的值应该对应于您的自定义分类法的术语(slug)。 -
处理筛选请求:
接下来,您需要在接收到筛选请求时修改 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'
替换为您的自定义文章类型和分类法的名称。 -
显示结果:
最后,在您的模板文件中,使用 WordPress 循环来显示经过筛选的帖子。
这样,您就可以在 WordPress 中为自定义分类法添加筛选功能了。确保备份您的主题文件和数据库,以防不小心出错。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?