文档章节

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

喵先生丿
 喵先生丿
发布于 2017/02/28 11:45
字数 179
阅读 271
收藏 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
天津
程序员
私信 提问
加载中

评论(0)

WordPress代码实现相关文章的几种方法

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

西西爱OS
2012/10/20
94
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
2018/01/02
0
0
Wordpress未授权查看私密内容漏洞 分析(CVE-2019-17671)

[TOC] 0x00 前言 没有 0x01 分析 这个漏洞被描述为“未授权访问私密内容”,由此推断是权限判断出了问题。如果想搞懂哪里出问题,必然要先知道wp获取page(页面)/post(文章)的原理,摸清其中权...

osc_w9nfnvz4
2019/12/04
1
0
wordpress代码调用大全

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

drewin
2013/05/19
285
1

没有更多内容

加载失败,请刷新页面

加载更多

Lync Server 试用版激活

问题描述: Lync Server2013安装的试用版,180天过期之后Lync Server 服务停止运行 ……………………………………………………………………………………………………………………….. 原因分...

osc_tylqml9v
25分钟前
28
0
nginx、fastCGI、php-fpm关系梳理

前言:   Linux下搭建nginx+php+memached(LPMN)的时候,nginx.conf中配需要配置fastCGI,php需要安装 php-fpm扩展并启动php-fpm守护进程,nginx才可以解析php脚本。那么,这样配置的背后原...

osc_qjkncsnp
26分钟前
11
0
Office web apps 服务器运行一段时间之后CPU就是达到100%

office web apps服务器部署两台,采用服务器场的方式实现高可用,主要为Lync server 2013 提供共享PPT; exchange 2013、SharePoint 2013提供在线预览word、PPT、excel。 原因分析(Cause) ...

osc_zwv9uj8l
27分钟前
12
0
Artifactory中Maven仓库配置优化——提升Virtual仓库下载速度

问题背景 随着研发团队不断扩大Artifactory中Maven仓库也在逐步增多,包括 local、remote、virtual 仓库,其中往往会涵盖RELEASE和SNAPSHOT包类型仓库,为了对使用客户透明简化用户配置,管理...

JFrog杰蛙
27分钟前
13
0
Linux 开机自检(未整理全)

1、开机自检BIOS 检查硬件有没有问题 没问题就根据启动次序 交加硬盘 2、MBR引导 交给硬盘哪里? 硬盘0 柱面0 磁道1 扇区的前446byte 1扇区一共是512byte 剩下64byte(分区表 4个)+2(分区结...

osc_t1zhs6ty
27分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部