站点图标 西部盒子博客

WordPress使用SQL语句自定义查询文章时排除分类的写法

如题,我们在使用wordpress进行相关定制开发时,可能会遇到程序内置的查询无法满足我们实际数据查询需求,所以就需要我们通过定制mysql语句来进行相关的查询。

wordpress使用sql查询的方法:

1、先定义全局类:

global $wpdb;

2、通过$wpdb类来查询相关的数据;

$wpdb提供了多种查询方法: 如:get_results 直接返回查询结果,get_rows返回多行,get_var返回单个值等。

我们这里不过多的描述基础,直接上代码:

 

下面是一段查询一段时间内热门文章的代码,是根据文章评论数量来判断是否热门:
[crayon-673f36806be0c841109415/]
以上代码是获取到了一段时间内所有分类的热门文章,我们现在的需求是热门文章排除分类ID 为29的文章;通过系统查询很容易实现,不过在sql语句内如何实现呢,直接上代码:
[crayon-673f36806be3c220982061/]
原理,我们这里使用了关联查询,wp_term_relationship表记录了文章ID和分类ID对应关系,所以,我们在where语句后面跟上了 not in 方法,来排除分类为29的文章。

大神勿喷,给度娘交的作业。如果碰巧帮助到你,帮给写一条评论也是不错的。

退出移动版