Wordpress教程 2023年03月3日
0 收藏 1 点赞 581 浏览 1634 个字

要在WordPress中添加一个多选项筛选功能,您可以使用WordPress的pre_get_posts 钩子和get_query_var 函数来修改WordPress的主查询。以下是一个实例代码,可以用来在文章列表页面中添加多个筛选选项:

//添加筛选表单到文章列表页面
function add_filter_form() {
//检查当前是否在文章列表页面
if (is_home() || is_archive() || is_search()) {
//获取当前筛选参数
$filter_1 = get_query_var('filter_1');
$filter_2 = get_query_var('filter_2');
?>
<form action="<?php echo esc_url(home_url('/')); ?>" method="get">
<label>
Filter 1:
<select name="filter_1">
<option value="">All</option>
<option value="option_1" <?php selected($filter_1, 'option_1'); ?>>Option 1</option>
<option value="option_2" <?php selected($filter_1, 'option_2'); ?>>Option 2</option>
<option value="option_3" <?php selected($filter_1, 'option_3'); ?>>Option 3</option>
</select>
</label>
<label>
Filter 2:
<select name="filter_2">
<option value="">All</option>
<option value="option_a" <?php selected($filter_2, 'option_a'); ?>>Option A</option>
<option value="option_b" <?php selected($filter_2, 'option_b'); ?>>Option B</option>
<option value="option_c" <?php selected($filter_2, 'option_c'); ?>>Option C</option>
</select>
</label>
<input type="submit" value="Filter">
</form>
<?php
}
}
add_action('genesis_before_loop', 'add_filter_form');

//修改主查询
function custom_filter_query($query) {
//检查当前是否在文章列表页面
if (is_home() || is_archive() || is_search()) {
//获取当前筛选参数
$filter_1 = get_query_var('filter_1');
$filter_2 = get_query_var('filter_2');
//如果有筛选参数,将其添加到主查询中
if ($filter_1) {
$query->set('meta_key', 'filter_1');
$query->set('meta_value', $filter_1);
}
if ($filter_2) {
$query->set('meta_key', 'filter_2');
$query->set('meta_value', $filter_2);
}
}
}
add_action('pre_get_posts', 'custom_filter_query');

 

上述代码将在文章列表页面添加两个筛选选项,并将用户选择的选项作为查询参数添加到主查询中。这样,用户就可以根据他们选择的选项来过滤文章列表。

请注意,如果您使用的是Genesis主题或其他自定义主题,则需要根据您的主题进行适当的更改。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.mizhanw.com/blog/1804.html

相关推荐
woocommerce 订单相关钩子
woocommerce_checkout_update_order_meta: 在订单元数据更新时触发。您可以在此钩子中更新订单的元数据,例…
日期:2024-03-15 点赞:0 阅读:201
最新Wp Rocket设置教程, 含插件下载+常见问题解决方法
最新Wp Rocket设置教程(超详细), 附GPL版本插件下载链接。图文并茂详细解释每一个设置的含义以及优缺点+兼容性排除,找到最合适的设…
日期:2024-02-24 点赞:0 阅读:211
WordPress破解版插件/主题(开心版, GPL, Nulled)安全吗?有啥缺点?如何获取?
解版插件产业链,安全与否,以及如何下载安全高质量破解版插件,避免下载有病毒主题/插件。 WordPress破解版插件/主题安全吗?这是绝大多…
日期:2024-02-24 点赞:0 阅读:188
终极WordPress速度优化教程, 秒开页面! 优化思路+方法+工具
终极WordPress速度优化教程,全面讲解影响速度的因素和原理。FCP, LCP, TTFB, TBT, CLS,Wp corn, Mar…
日期:2024-02-24 点赞:0 阅读:274
WordPress 的最佳 Cloudflare 设置(边缘涡轮增压)
无论您的 WordPress 主机有多快都无关紧要;您永远无法克服网络延迟。像 Cloudflare 这样的内容分发网络 (CDN) 通过将…
日期:2024-02-24 点赞:0 阅读:172
使用国外主题/插件后网站变很卡响应速度很慢的问题
变卡的原因 由于国内GFW的限制,有些资源被挡在海外无法加载,或者有些资源服务器延迟太高,导致网站加载速度缓慢,解决办法如下,二选一即可。 …
日期:2024-02-21 点赞:0 阅读:253
发表评论
暂无评论

还没有评论呢,快来抢沙发~