WordPress 按分类法过滤内容的实现-类似小工具里面的分类目录下拉过滤效果
文 / @UTHEME
自定义分类方法筛选内容
在内容丰富的站点中,经常使用WordPress的自定义分类方法来管理内容。有时,根据需要,我们需要按文章所在的自定义分类方法筛选内容。例如,如果文章类型是“学校”,与之关联的自定义分类方法是“省份”,现在要按省份筛选所有学校文章,就需要使用本文介绍的方法。
WordPress按分类法过滤内容的函数
<?php
function state_taxonomy_dropdown($taxonomy, $orderby = 'date', $order = 'DESC', $limit = '-1', $name, $show_option_all = null) {
$args = array(
'orderby' => $orderby,
'order' => $order,
'number' => $limit,
);
$term_now = get_query_var('term');
$terms = get_terms($taxonomy, $args);
$name = ($name) ? $name : $taxonomy;
if ($terms) {
printf('<select name="%s" onchange="location=this.value" class="postform">', esc_attr($name));
if ($show_option_all) {
printf('<option value="'.get_bloginfo("url").'/school/">%s</option>', esc_html($show_option_all));
}
foreach ($terms as $term) {
if ($term_now == $term->slug) {
$selected = "selected";
} else {
$selected = "";
}
printf('<option value="'.get_bloginfo("url").'/state/%s" %s>%s</option>', esc_attr($term->slug), esc_html($selected), esc_html($term->name));
}
print('</select>');
}
}
?>
以上是按分类法过滤内容的函数。该函数有几个参数,可以根据需要输出下拉筛选表单。
- $taxonomy:需要作为筛选条件使用的自定义分类法的别名。
- $orderby:排序方式,默认为发布日期。
- $order:升序还是降序排列,默认为降序。
- $limit:显示的分类项目的数量,默认为全部显示。
- $name:显示的筛选表单的标签名称,必填项。
- $show_option_all:是否显示“全部”链接,默认为不显示。
按分类法过滤内容函数的参数和使用方法
比如,我们需要显示所有省份作为筛选条件,直接把下面代码放到自定义文章类型的存档页面或分类方法的存档页面就可以了。
<?php state_taxonomy_dropdown('state', 'date', 'DESC', '5', 'state', '显示所有'); ?>
以上代码可以显示所有省份作为筛选条件。你可以根据需要修改参数,来实现更多筛选效果。

相关文章
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-28 23:20:26
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress轻社区主题 2023-05-28 22:57:54
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46