龙空技术网

我又折腾了啥?

WordPress新手学园 46

前言:

现时朋友们对“wordpressajax提交”大致比较着重,你们都想要学习一些“wordpressajax提交”的相关知识。那么小编同时在网上搜集了一些关于“wordpressajax提交””的相关知识,希望你们能喜欢,看官们一起来了解一下吧!

今天的折腾真的不是我愿意折腾,只是看到贴吧里面一个网友有这样的需求,正好我也不存在这个页面,所以我就花了点时间写了一个页面,通过此文记录一下我创建该页面的流程。

我创建的页面就是每个站点都会存在的归档页面,但是我创建的页面可能更加像一个高级搜索,所以后期可能利用这个模板修改一下变成高级搜索都是可能的。

最终效果如下:

不要在意我的UI设计,我可以说是一个UI白痴,反正就是方方正正,能用就行。下面简单地说一下创建这个页面的流程和其中的关键点。

很多用户都希望有一种过滤的功能,而我现在做的就是带有过滤功能的归档页面。如截图上面部分显示所示,支持分类、标签、发布时间、排序方式四种组合,其中时间采用了多种模式:

这种搭配基本满足所有的归档页面查询要求了,这里先说明一下设计原理。

设计原理

最开始我准备通过AJAX进行查询提交,但是经过思考,似乎觉得没有必要,直接通过form提交之后更新查询条件即可解决问题了,这里需要考虑得比较多的就是时间范围的问题,毕竟存在多种情况下,我们使用的代码可能也是不一样的。

实践操作

了解了原理之后,我们基本就可以开始动工了,首先需要针对表单里面提交的数据进行审核判断,我这里仅仅进行了基本的判断,如果你有兴趣的话可以进行更加详细的判断。

上面也说了,所有判断或者数据的调用里面,时间查询条件是比较复杂的,这里就需要去官方进行查看相关例子,得出结果:

鉴于我们存在时间范围,所以我选择了使用before和after这两个参数进行考虑:

虽然我不知道上面的代码是否存在缺陷,但是实际使用中没有存在什么问题,值得注意的就是,我这里并没有考虑开始时间大于结束时间的情况,如果出现这样的查询,结果只能为空。

查询条件和数据的处理基本就是上面这些了。

更新主循环

提交表单之后会刷新页面,目的也是更改查询条件的参数,所以这类我直接进行了判断用来获取过滤后的数据:

代码方面比较粗糙,但是大概意思能明白就行。首先判断变量是否为空,在不点击提交查询按钮的情况下,变量是为空的,所以直接采用默认的参数,显示指定数量的文章,如果点击按钮获取到了新的参数,则会根据上面参数的相关设置进行展示,大概意思就是这样了。

总结

WordPress里面,但凡你需要获取列表数据或者文章数据,基本都会用到查询,也就是wp_query这个函数,其次通过get_posts也可以达到目的,但是推荐前者,毕竟提供的选项很多,可以面面俱到,后者可以根据你的需求进行判断,按需使用即可。

归档页面多半是按照时间段来展示的,也就是每周、每月乃至每年的展示,不过这个就看个人需要了,提供更多的可选项给大家或许更加人性化一点吧。

标签: #wordpressajax提交