在本站之前的文章中介绍过 WordPress 根据多种条件筛选查询内容 的方法,有不少朋友搜到了这篇文章,咨询到了我具体的使用方法。其实文章中已经介绍得比较清楚了,稍微有点基础的朋友应该是可以集成到主题中的。不过懒是一个合格程序员的基本素质,已经实现过的功能再去实现一遍对人类智力和大家的时间也是一种浪费。为了方便大家使用,我花了一天的时间,把上面的功能做成了一个插件,插件命名为:Wizhi Multi Filters。废话不多说了,下面介绍一下插件的使用方法。
Wizhi Multi Filters插件实现的效果截图
如下图,图中的学科、专业、资质都是在后台定义的自定义分类法,后面的筛选项目都是自定义分类法中的分类项目,可以在后台自由编辑。点击某个筛选条件的连接时,会立即筛选内容。
Wizhi Multi Filters 插件设置
为了方便大家使用,插件提供了一些基本设置,如下图:
- 选择需要筛选的文章类型:在自定义文章类型中选择一项为需要筛选的文章类型。
- 选择需要筛选的分类方法:在自定义分类方法中选择一个或几个作为筛选条件,需要注意的是:作为筛选条件的分类方法必须是注册到上面选择的文章类型中的自定义分类法。
- 不显示CSS:为了使筛选能够正常显示,插件定义了一些基本的CSS样式,选择这个选项,插件将不会输出默认的CSS样式,需要在主题中自己添加一下。
在主题中显示 Wizhi Multi Filters 过滤条件
默认情况下,除了基础 CSS,插件并不会输出任何内容,需要在主题中添加下面几段代码,才能显示多条件筛选。添加代码的位置可以是自定义页面模板或者自定义分类法存档页面。
<?php //输出多条件筛选过滤列表 ?>
<?php
$filters = new Wizhi_Filter('prod', array('procat','area'), true); //输出多条件筛选
$wp_query = $filters->wizhi_get_filter_object(); //筛选后的WP_Query实例
?>
<?php //插件升级到1.5版本之后,终于支持了筛选多个文章类型,使用方法也简单了,直接在主循环之前,添加这一个函数就可以了。 ?>
<?php if ( function_exists ("wizhi_multi_filters")) { wizhi_multi_filters(); } ?>
<?php //输入多条件筛选过滤列表,就是一个标准的WordPress查询,输出的模板可以自由定制 ?>
<?php if (have_posts()) { ?>
<?php while (have_posts()) : the_post(); ?>
<?php get_template_part( 'content', 'lists' ); ?>
<?php endwhile; ?>
<?php } ?>
插件后续更新计划
这是 Wizhi Multi Filters 插件的第一个版本,还有一些不完善的地方,我会根据插件的使用情况和大家的建议保持插件更新,目前可能会增加的一些功能:
增加简码和默认模板,更方便使用: 2015/08/20 最新版插件可以直接使用主题的模板,此功能已经没有必要了,放弃添加。后台增加是否显示已筛选项的选项: 2015/06/08 已完成- 静态化过滤 URL,增加 SEO 友好度。
插件设置中,根据选择的文章类型显示关联到文章类型的分类法,使插件设置有更好的用户体验: 2015/06/20 已完成增加文章排序功能,排序条件可自定义: 2015/08/027 计划独立出来,放到一个专门的文章排序插件里面。增加搜索功能,可搜索筛选的自定义分类里面的文章: 2015/07/02 已完成添加默认的文章类型和分类法,可在后台修改自定义分类法的名称: 2015/07/06 已完成添加多文章类型支持,根据文章类型自动显示分类法作为判断条件:2015/07/19,已完成
如果大家对 Wizhi Multi Filters 插件有任何意见或建议,欢迎在评论中提出,或者直接联系我进行反馈。
获取Wizhi Multi Filters插件
使用插件前需要注意的事项
本插件只能在自定义文章类型的存档页面进行筛选,在首页或自定义页面中可能不能正常使用。
多条件筛选主题定制开发
由于本插件原理上的限制,很多功能实现不了(如 URL 静态化,筛选默认的文章等),于是在本插件原理的基础上,做了一个基于多条件筛选的主题,实现了URL 静态化,在后台添加多个文章类型、根据筛选条件自动生成关键词等 高级功能,目前,该功能只会在定制主题中添加,如有需要,可以联系我咨询。
70 thoughts on “本站开发的 WordPress 多条件筛选过滤插件 – Wizhi Multi Filters”
很不错呀,有样板吗?预览下。
测试地址已通过邮件发送。
超腻害 待我回家试试看!
问个问题!如果把wordpress 标签链接 如 tag/标签名称/ 变成 tag/12321 (其中12321 是该标签的ID)
估计要用Rewrite API 自定义一下了,有空帮你调试一下,代码以文章的方式贴出来。
好的!谢谢~我会继续关注贵站的~
居然说到做到,写成插件了,感谢无私分享
功能感觉不错!希望测试!
前台测试可以查看本站的文档栏目,需要测试后台的可以在工作时间联系我索要测试账号。
你好 根据教程 实现了 页面http://www.56brand.com/sift
但是有两个问题想咨询:
1、如何在默认显示的列表下 只显示 指定的目录的文章列表
2、翻页时,总是默认跳转首页 不能实现.com/sift/page1 或者.com/sift/0_0_0_371/page1 这种格式的
如能解答 万分感谢 可以付费帮助
没有分页应该是分页参数$paged的重置了吧?加我QQ,可以帮你看看。
购买的插件有什么限制么?比如只能用在一个域名之类的
插件完全开源,没有任何限制。只不过购买一个插件,只能提供一个网站的安装调试支持。
你好,可以无限层级筛选吗?或者最多可以筛选几层?
不是太明白你说的层级是什么意思?筛选条件?还是筛选条件下面还有子分类?
我想实现类似这样的:http://itjuzi.com/company 。可能会设置比较多筛选标准
实现这样的效果是可行的,在后台注册自定义分类法就行了,每一个筛选条件是一个自定义分类法。不过如果想要参考网址中的效果,前段需要你自己实现一下。
博主您好,目前这个插件网址和筛选效果都能实现了,但是会刷新页面,导致无法显示选中效果,楼主这个链接的效果是传参网址会实时变更,但是不刷新页面,只刷新筛选部分的数据
有没有这样类似的wordpress插件呢
博主,你要觉得瑞课教育真是个公司,那你就大错特错了,一个毛都没有,做个网站就自称公司的,时不时骗点钱,你觉得他会有公司?企业资质都没有,还瑞课教育,瑞课骗子是对他最好的简称!
是的,看着网站就觉得很不靠谱。
啥意思,目前个人在他家培训中,感觉还行。资源也挺丰富的。
嗯,能学到东西就行,有问题欢迎来本站交流。
无耻啊,http://fxd2006.blog.163.com/blog/static/1394159020160149462210 国外免费插件改个名字
不多说,源码已开放,自己看源码去:https://bitbucket.org/iwillhappy1314/wizhi-multi-filters/,详细信息请看声明:https://www.wpzhiku.com/wizhi-multi-filters-infringed/
有静态链接的功能吗?
我要这种静态链接:www.wpzhiku.com/wizhi-multi-filters/
而不是这种:www.wpzhiku.com/wizhi/multi/filters/,(用斜杠来分开,搜索引擎会默认为有好多级,不利于SEO)
,能做的话,付费多少?
你好,可以做,详细信息已发邮件。
现在流行的avada主题启用出错,是否能修复下~
错误信息是什么?
Warning: array_combine() expects parameter 1 to be array, string given in /data/home/***/htdocs/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php on line 70
Warning: Invalid argument supplied for foreach() in /data/home/***/htdocs/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php on line 96
登录页
Warning: array_combine() expects parameter 1 to be array, string given in /data/home/***/htdocs/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php on line 70
Warning: Invalid argument supplied for foreach() in /data/home/***/htdocs/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php on line 96
Warning: Cannot modify header information – headers already sent by (output started at /data/home/***/htdocs/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php:70) in /data/home/qxu1539730172/htdocs/wp-login.php on line 387
Warning: Cannot modify header information – headers already sent by (output started at /data/home/***/htdocs/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php:70) in /data/home/qxu1539730172/htdocs/wp-login.php on line 400
警告应该不影响运行的,把 WP_DRBUG 关掉应该就不显示了,真不行加我 QQ,我帮你看看。
非常感谢无私的提供插件,希望刀哥能补充详细的使用方法,按照您上面的教程调试总是操作不了,能有强大的教程支持就真的非常完美了
教程没时间弄,使用上有问题或者遇到了bug,加QQ或发邮件说吧。
.com/style/korea/page/2/?dtag=chuyou ,分页有错误
可以加我 QQ 帮你看看。
https://www.wpzhiku.com/codex/page/2/
。用你的演示站测试了,有同样的问题,这个是页面第二页,但是如果在第二页筛选的话,正常情况下筛选后的页面应该是第一页开始。但是插件还是从第二页开始了。https://www.wpzhiku.com/codex/page/2/?var_function=attachment
在第二页筛选后应该是这样的
https://www.wpzhiku.com/codex/var_function=attachment
因为筛选后应该从第一开始
嗯,看起来是个bug,有时间测试修复一下。
提示有病毒
从哪里下载的?杀毒软件还是浏览器提示的?
我检查了,是360的问题
嗯,没问题就好。
刀哥 那个我按照网页的代码贴进去 发现不是很灵光,想筛选作品这种文章 也识别到了分类 可是 页面上只显示出两个所有 两个字
测试内容添加了吗?里面有文章的分类才能显示出来,如果分类里面没文章,点击这个筛选条件肯定是筛选不出来内容的。
刀哥,我买插件。什么时候有空帮忙调试一下?
启用后错误代码
Parse error: syntax error, unexpected ‘[‘ in /var/www/vast/home/pg4vay5th5/kaka.ml/wp-content/plugins/wizhi-multi-filters/wizhi-multi-filter.php on line 26
新版插件使用率 PHP5.4 的数组简写语法,升级 PHP 到5.4以上版本就可以了,建议升级到5.6。看来得加个升级提醒。
楼主怎么实现不了筛选呢,点击了之后显示的还是之前的
可以介绍一款支持你这个插件的主题吗?我要做企业站要用到这个功能
国外的主题比较遵循 WordPress 规范,一般都支持,国内的不好说。
为什么付了款就不见人了?发消息也不回呢~
你是哪位?如果插件有问题用不了的话,支付宝发过来,退款给你。
你好,自定义分类能不能换成一级栏目调用二级栏目呢?比如 学科 是一级分类,人文百科是二级分类。谢谢
目前还没有比较好的解决办法。
php5.5是不是不能使用啊?
请问才能在page、single这些页面上使用呢?
无法启用插件,因为它引起了一个致命错误(fatal error)。
Parse error: syntax error, unexpected ‘[‘ in /data/home/********/plugins/wizhi-multi-filters/wizhi-multi-filter.php on line 44
PHP 版本太低,更新的 5.6 以上就行了。
您好,插件设置,不能增减分类法项是怎么回事呢?
这个功能已经不能用了,会在下一次更新时去掉。
新版本什么时候更新呢
你好,这个插件放到nginx服务器上点击分类为什么什么也没有了,不会显示数据,在apache上面就可以
可能时 Nginx 重定向规则没有配置好?可以加我的 QQ,帮你看一下。
貌似有个问题,就是分页之后,在第二页时,再次点击分类按钮,就会404….
(看了下链接是这样)
https://3ef.me/movie/page/2?movie_cat=u-s-a&movie_tags=dong-hua
就是重新筛选的时候分页的 page/2 没有被重置掉,不知道这个要如何解决
这个插件很久不更新了,不过如果你懂点 PHP 的花,这个 Bug 应该可以解决。
不能用多个文章类型吗?搞来搞去发现只能在一个文章类型上面显示
能不能加下我帮我看下啊,完全萌新,没有成功。。。
添加以下代码到 archive-prod.php 模板中的 之前
archive-prod.php,这个文件里面没有这么上面说的那段代码啊,不知道放到哪里去
settings.php
我在这行加入了:
已成功运行。感谢分享!
演示地址还有吗?看看是不是我想要的效果
目前不开放注册.