文档章节

WordPress通过filters更改query_posts()产生的SQL语句

喵先生丿
 喵先生丿
发布于 2017/02/28 11:45
字数 179
阅读 99
收藏 0

通过query_posts()filters更改其产生的SQL语句,可以做想针对复杂的查询,如与其他数据库表进行联合查询,更改select选择的字段等等.并且可以享用query_posts()带来的好处,例如分页.

//可用的filters有

posts_join
posts_groupby
posts_orderby
posts_distinct
posts_fields
post_limits
posts_where_paged
posts_join_paged
posts_request

例如增加where查询语句


function posts_where_field ($fields){
    global $wp_query ;
   
    if(!empty($_GET['are'])){
        $fields .= " AND  wp_posts.post_exhibition_are = ".$_GET['are'];
    }

    if(!empty($_GET['city'])){
        $fields .= " AND wp_posts.post_exhibition_city = ".$_GET['city'];
    }
    return $fields;
}

add_filter('posts_where_paged','posts_where_field');

例如增加order查询语句


function posts_orderby_field($fields){
    global $wp_query ;
    if(!empty($_GET['fa'])){
        switch($_GET['fa']){
            case 1:
                $fields = " wp_posts.post_fa_begintime ASC ";
                break;
            case 2:
                $fields = " wp_posts.post_fa_begintime DESC ";
                break;
            case 3:
                $fields = " wp_posts.post_date DESC";
                break;
            case 4:
                $fields = " wp_posts.post_date ASC";
                break;
        }
    }
    return $fields;
}

add_filter('posts_where_paged','posts_where_field');

© 著作权归作者所有

共有 人打赏支持
喵先生丿
粉丝 3
博文 14
码字总数 5275
作品 0
天津
程序员
私信 提问
WordPress代码实现相关文章的几种方法

WordPress很多插件可以实现相关文章的功能,插件的优点是配置简单,但是可能会对网站的速度造成一些小的影响,所以很多人还是比较喜欢用 代码实现需要的功能,但是话又说回来了,代码实现也有...

西西爱OS
2012/10/20
0
0
wordpress调用函数大全

WordPress模板基本文件 style.css 样式表文件 index.php 主页文件 single.php 日志单页文件 page.php 页面文件 archvie.php 分类和日期存档页文件 searchform.php 搜索表单文件 search.php 搜...

老朱教授
2017/10/01
0
0
划重点!必备 SQL 查询优化技巧,提升网站访问速度

来自:开源中国 协作翻译 链接:oschina.net/translate/sql-query-optimization 原文:https://deliciousbrains.com/sql-query-optimization/ 译者:南宫冰郁, rever4433, soaring, 凉凉_, ......

uzv80px5v412ne
01/02
0
0
使用 WordPress 的 10 个非常有用的 MySQL 查询

大多数使用 WordPress 搭建的网站,其后台都是 MySQL 数据库,经常我们需要定制 WordPress 的功能,这里我们列表 10 个最有用的 WordPress 的数据库查询,你需要一个数据库的管理工具,例如 ...

tsl0922
2012/11/26
827
0
使用 WordPress 的 10 个非常有用的 MySQL 查询

大多数使用 WordPress 搭建的网站,其后台都是 MySQL 数据库,经常我们需要定制 WordPress 的功能,这里我们列表 10 个最有用的 WordPress 的数据库查询,你需要一个数据库的管理工具,例如 ...

红薯
2012/08/01
2.7K
6

没有更多内容

加载失败,请刷新页面

加载更多

EOS官方钱包keosd

EOS官方钱包的名称是keosd,它负责管理你的私钥,并且帮你进行交易的签名。 不过不幸的是,keosd钱包对普通用户并不友好,它是一个命令行程序,目前还没有像以太坊的mist那样的图形化界面,而...

汇智网教程
今天
28
0
ArrayList的实现原理以及实现线程安全

一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.syn...

一看就喷亏的小猿
今天
36
0
Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
42
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
54
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部