在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...常用于页面(排序字段在页面编辑页面的「页面属性」框中),也可用于具有不同 menu_order 值的任何文章类型(默认值都是 0)。...meta_value – 按照自定义字段排序,请先确保在查询中已经设置了 meta_key,额外要注意,是按字母顺序排列的,这对于字符串来说没有问题,但对于数字可以结果不是你预期的,(例如结果是 1、3...post__in – 按照 post__in 参数中给出的文章 ID 顺序进行排序,注意使用 post__in,order 参数的值无效。...meta_query 到 orderby 数组: $q = new WP_Query( array( 'meta_query' => array( 'relation' =>
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...只有一个内嵌 meta_query 数组参数的时候,不要使用该参数。 meta_query 还包含一个或者多个具有以下键值的数组: key (string) – 自定义字段的 key。...通过一个自定义字段使用 meta_query 获取文章 $args = array( 'post_type' => 'product', 'meta_query' => array(...( $args ); 特别注意下,使用 meta_query 的时候,需要传递嵌套数组,即使只有一个自定义字段查询的时候,也是一样。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...第一讲,把 WP_Query 最常用的分类,标签和分类模的所有相关的参数讲解一下,例子也是来自官方文档,学完之后,你可以在 WordPress 进行非常复杂的多重筛选。...+news' ) ); 使用分类 ID 获取不含有几个分类的文章,在 ID 前面加上-号: $query = new WP_Query( array( 'cat' => '-12,-34,-56' )...quotes 分类中的文章或者有 quote 文章格式的文章: $query = new WP_Query(array( 'post_type' => 'post', 'tax_query...比如:获取在 quotes 分类中或者同时有 quote 文章格式和在 wisdom 分类中的文章: $query = new WP_Query(array( 'post_type' => 'post
wordpress默认会根据网址调用数据,不能满足我们所有建站要求,而WP_Query可以用于查询任何你想要的内容,相当于自定义数据调用。 wordpress的主循环 中的文章 (2.9和以后的版本可用). ), //注意:The 'any' 关键字可以用在 post_type 和 post_status 查询,但是不能在数组中使用...//注意:使用 get_query_var('page'); 如果查询在设置为首页的页面模版中工作,查询参数 'page' 拥有文章分页或内容中使用 使用 (编辑页面时有一个页面序号的字段) 和附件 ( 插入 / 上传媒体相册对话框中的数字), 但是不能对文章类型 'menu_order' 使用数字值 (默认都为 0)....在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
'trash' // - 回收站中的文章 (2.9和以后的版本可用). ), //注意:The 'any' 关键字可以用在 post_type 和 post_status 查询,但是不能在数组中使用...' => 10, //(整数) - n每页显示的文章数量 - 只在存档页面使用,在存档页面和搜索结果页面覆盖了 showposts 和 posts_per_page 参数 'nopaging' => false...//注意:使用 get_query_var('page'); 如果查询在设置为首页的页面模版中工作,查询参数 'page' 拥有文章分页或内容中使用 使用 (编辑页面时有一个页面序号的字段) 和附件 ( 插入 / 上传媒体相册对话框中的数字), 但是不能对文章类型 'menu_order' 使用数字值 (默认都为 0)....在返回文章的开头忽略/排除置顶文章,但是置顶文章还是会在自然查询中列出。
WP_Query 是 WordPress 的核心,它支持的参数非常灵活,也非常多,官方的文档也略嫌啰嗦,整理把所有的参数都整理了一遍,以后要使用 WP_Query 只要看这份文档就够了: $args =...//http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters //Important Note: tax_query...'tax_query' => array( //(array) - use taxonomy parameters (available with Version...The logical relationship between each inner meta_query array when there is more than one....Do not use with a single inner meta_query array.
直接来代码,可以使用 WP_Query 的 tax_query 参数来实现: $wpjam_query = new WP_Query([ 'post_status' => 'publish', '...tax_query' => [ [ 'taxonomy' => 'post_tag', 'field' => 'id', 'operator' => 'NOT EXISTS'...] ] ]); 该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!...直接在 WordPress 后台文章列表选择没有设置分类即可,而未打标签的文章,则在 URL 中加入 tag=-1 即可获取:
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...「WordPress果酱」将通过一系列教程讲解如何使用 WP_Query 进行 WordPress 文章查询。...我写这一系列文章的目的也是为了方便自己使用这些参数的时候方便查询,所以如果你也是经常进行 WordPress 二次开发的话,建议收藏本文。...第三讲关于查询特定文章类型的文章,文章类型的参数只有 post_type 这一个,它可以是字符串或者数组,默认值是 'post',如果设置了分类参数 'tax_query' 的话,默认值是 'any':...所以如果你没有在查询中显式指定 post_status 为 'inherit' 或者 'any' 那么没有任何附件返回。
WordPress输出内容时用到最多的就是$args =array( 这个查询数组,这篇文章给大家分享所有的,WordPress查询综合参考 $args = array( 在这里先分享一个简单的案例...: 当我们做网站时,使用query_posts查询得到的结果很多的情况下就需要进行分页。...实现query_posts查询结果分页的代码如下: <?php $paged = $_GET['paged'] ?...'tax_query' => array( // (array) - use taxonomy parameters (available with Version 3.1)....Do not use with a single inner meta_query array.
版本中,wordpress已经修复了这个错误,比较commit的变化,可以在clean_query函数中看到在处理query['terms']变量之前已经添加了query['field']检查。...(这里的比较是使用==,使用的是弱比较),在某些情况下这个错误可以用来随意创建条件句)。...当您想查询数据库时,插件/主题将调用 WP_Query 类,从源代码中了解错误的方法是使用 WP_Query(data) 和 data 是您可以控制的。...例如,new WP_Query(json_decode($_POST['query_vars'])),有效载荷将采用以下形式: query_vars={"tax_query":{"0":{"field"...,"terms":[""]}}} 在搭建测试环境时,启用debug功能可以通过基于错误的方式检测 SQL 注入: 0x03结论: 在wordpress补丁中添加了query['field']首先检查,
Wordpress它是世界上 最常用的开源CMS之一,在允许开发者自己构建插件和主题来管理网站的时候,由于它的便利性而被大量使用,wordpress的核心会提供插件/主题的功能来调用和使用...在wordpress提供的类中,发现WP提供的查询DB的类中有SQL Injection错误:WP_Query 分析 在 5.8.3 版本中,wordpress 已经修复了这个错误,比较提交更改可以在处理变量之前...(这里的比较是使用==了Loose comparisons的漏洞,在某些情况下这个错误可以用来随意创建一个条件句) 退出函数后,码流回到原位会调用clean_query函数get_sql_for_clause...WP_Query当您要查询数据库时,插件/主题将调用该类,从源代码中了解错误的方法是在您使用它时,WP_Query(data)并且 data 是您可以控制的。...例如 new WP_Query(json_decode($_POST['query_vars'])) 有效载荷将采用以下形式: query_vars={"tax_query":{"0":{"field"
https://wordpress.org/download/releases 版本:< 5.8.3 测试:Windows 10 CVE:CVE-2022-21661 此漏洞允许远程攻击者披露受影响的...WordPress Core 安装的敏感信息 Authentication 不需要利用这个漏洞,具体的漏洞存在于 WP_Query 类中, #该问题是由于在使用用户提供的字符串构建 SQL 查询之前没有对其进行适当的验证..., #攻击者可以利用此漏洞来泄露存储的凭据,从而导致进一步的妥协。...Content-Type: application/x-www-form-urlencoded action=&nonce=a85a0c3bfa&query_vars={"tax_query
问题1 – 模糊搜索: 大胆尝试: wordpress 原生自带有一个 wp_query 函数,它支持的参数非常完善灵活,实现整个网站与数据库的交互。...在官方手册中也有介绍到:wp_query,支持多种 sql 语句的 比较符号: ? 看!他说可以支持 like 或者 regexp 这种比较符号。...转换思路: 其实在数据库使用 like 的查询效率是非常低,所以我们可以把这一部分的逻辑由 php 自己实现。...实现原理: 要使用 admin-ajax.php 请求必然首先就是遇到如何使用 wordrpess 的钩子 hook 来做过滤。...问题3 – 异步渲染 其实很简单,前两部已经完成大部分的工作。我们只需要添加一个监听输入框值变化的事件,使用 JQuery 的 ajax 请求接口就OK了。
: 输入 1: 2 abc cba 结果 1: str[0] = “abc” str[1] = “cba” 原因:next() 方法在遇到有效字符前所遇到的空格、tab 键、enter 键都不能当作结束符...输入 2: 2 abc cba efg gfe 结果 2: str[0] = “abc” str[1] = “cba” 原因:next() 方法在遇到有效字符前所遇到的空格、tab 键、enter 键都不能当作结束符...不是预期的 “abc cba” 和 “efg gfe” 2. nextLine 使用举例: 输入 1: 2 abc cba 结果 1: str[0] = “” str[1] = “abc” 原因:以回车...回车符 “\r” 它被丢弃在缓冲区中,现在缓冲区中,只有一个 \r ,于是 下一次 nextLine 扫描的时候就又扫描到了 \r,返回它之前的内容,也是啥都没有 “” ,然后再把 \r 去掉, 对于...这个扫描器在扫描过程中判断停止的依据就是“结束符”,空格,回车,tab 都算做是结束符 而坑点在于 next 系列的,也就是下面这些函数:next nextInt nextDouble nextFloat
Laravel 中的 Artisan 命令行是这样 // 创建命令 php artisan make:command SendEmails // 运行命令 php artisan mail:send /.../ 使用参数 php artisan mail:send hello // 使用选项 php artisan mail:send --mail=abc@qq.com Goravel 中的 Artisan...命令行也一样 // 创建命令 go run . artisan make:command SendEmails // 运行命令 go run . artisan mail:send // 使用参数 go...run . artisan mail:send hello // 使用选项 go run . artisan mail:send --mail abc@qq.com 就连 struct 的定义都是满满的回忆...,原来的味道。
使用的deepin-linux,今天写shell脚本的时候,忽然发现 sh test.sh 会报错[[: not found ,双等号和双中括号都不能使用了,很郁闷,后来探索发现,sh其实是dash...的别名,需要使用 bash test.sh 才可以。
变量设置默认值javascript 中给变量设置默认值可以直接用或运算符 ||,但是在 php 中或运算符 || 只能用来判断,会返回布尔值,要像js中设置默认值只能用if判断或者三元运算符$a = "...Object 对象在PHP 中,有三种类型的数组:// 数值数组:以数字为键的数组,键从0开始自增$arr = ['zhou', 'xiao', 'hei'];// 关联数组:带有指定的键的数组,每个键关联一个值...数组取值php 中要获取数组(或"对象",即上面说到的关联数组,也就是前端js中的object)的属性值,要用 ["xx"],不能用 -> ,横线箭头这个是 class 类对象才能这样获取$arr =...WP_Query 和 WP_Comment_Query 中的 no_found_rows 参数WP_Query 和 WP_Comment_Query 这两个查询类里,其实都有这个参数no_found_rows...能用$this的地方一定使用self,能用self的地方不一定能用$this,静态的方法中不能使用$this,静态方法给类访问的。
我之前的「WordPress 文章查询教程6:如何使用排序相关的参数」中详细介绍了文章查询的排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停的变化,现在又有了新需求,获取最新被评论的文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求的网站可能需要用到...因为 WP_Query Class 排序参数没有 comment_date 选项,所以不能直接使用它,那么这样两个表连表查询一般来说只能通过 SQL 来实现了。...但是使用 SQL 来实现可能就会造成 API 不一致的问题,无法直接使用 WP_Query 进行各种操作,所以最好是通过 posts_clauses 接口实现让 WP_Query 排序参数支持 comment_date...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单的方式就能够获取最新被评论的文章列表: $query = new WP_Query( array
在自己代码的函数中使用 require(BASE_PATH ....get() on a non-object in [path to site]\site\wp-includes\query.php on line 27 这是因为全局变量不正确使用引起的问题,默认...wp_query 是在 wp-setting.php 中定义的,因为是定义在最外层,所以 wp_query 自然就是一个全局的变量。...但是这里在自己的函数中通过 require(BASE_PATH ....'wp-load.php'); 引入 WordPress 核心代码,wp_query 反而变成这个函数中的本地变量,所以其他代码调用 wp_query 的时候,就发生了错误。
在 WordPress 中,使用 WP_Query 进行文章查询是最常见的操作,学习好这方面的操作, WordPress 开发基本就学会了一半。...使用作者 ID 获取某个作者的文章: $query = new WP_Query( array( 'author' => 123 ) ); 使用作者 'user_nicename' 获取某个作者的文章:...$query = new WP_Query( array( 'author_name' => 'denis' ) ); 使用作者 ID 获取某一批作者的文章: $query = new WP_Query...( array( 'author' => '2,6,17,38' ) ); 不显示某一个作者的文章,通过在他的 ID 前使用 -(减号): $query = new WP_Query( array( '...) ); 使用作者 ID 获取排除某一批作者的文章: $query = new WP_Query( array( 'author__not_in' => array( 2, 6 ) ) );
领取专属 10元无门槛券
手把手带您无忧上云