/*
利用WordPress的 pre get posts 实现在归档页的多重筛选
需求举例:在分类归档页面添加标签筛选
支持自定义taxonomy
在分类页的网址基础上,添加GET参数:?tag_id= 或者 ?language_id=
叠加筛选 ?tag_id=xxx&language_id=xxx
*/
function my_pre_get_posts($query) {
// 排除后台管理界面
if (is_admin()) {
return $query;
}
if (is_archive() or is_search()) {
// taxonomy Begin 多重筛选开始 @2018.12.12
$tax_query = array(
'relation' => 'AND',
);
//1、标签
if(isset($_GET['tag_id'])){
$array_temp = array(
'taxonomy' => 'post_tag',
'field' => 'term_id',
'terms' => $_GET['tag_id'],
);
array_push($tax_query, $array_temp);
}
//2、自定义taxonomy 语言
if(isset($_GET['language_id'])){
$array_temp = array(
'taxonomy' => 'language',
'field' => 'term_id',
'terms' => $_GET['language_id'],
);
array_push($tax_query, $array_temp);
}
$query->set('tax_query',$tax_query);
//taxonomy End
}
return $query;
}
add_action('pre_get_posts', 'my_pre_get_posts');
利用WordPress的 pre get posts 实现在归档页的多重筛选
1. 本文所有言论和图片纯属用户个人意见,与川渝圈立场无关
2. 当前页面所有内容由该用户发布,该用户与本站享有帖子相关版权
3. 其他单位或个人使用、转载或引用本文时必须提前征得该用户的同意
4. 帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5. 本文部分内容如转载自其它媒体,并不代表本站赞同其观点和对其真实性负责
6. 如侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
请登录之后再进行评论
登录





