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

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

    最终效果如下:

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

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

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

    设计原理

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

    实践操作

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

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

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

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

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

    更新主循环

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

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

    总结

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

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

  • 联系我们
  • 有任何疑问欢迎联系我们
  • WP新手学园
  • 我又折腾了啥?
  • 邮箱:2830776172#qq.com(#换成@)
  • 回复时间:9:00-19:00
  • 如果提问.请图文并茂,详细描述问题
  • 我又折腾了啥?
  • 微信号:wpxsxy_official
  • 仅支持付费解决问题
  • *并非所有问题都会被回复
  • 我又折腾了啥?
  • QQ:2830776172
  • 回复时间:9:00-19:00
  • QQ仅支持付费提问,时间有限,尽情谅解
  • 我又折腾了啥?
  • QQ群:198768181
  • 有问题可以进去提问,寻求群友帮助
  • *并非所有问题都会被回复
  • 我又折腾了啥?
  • 咸鱼:WP新手学园
  • 如果对于直接交易不放心,可以走闲鱼
  • *咸鱼价格不作为最终交易价格
  • 备案号:鄂ICP备2021011647号-1