如何使元查询区分大小写?

时间:2016-07-25 作者:Spiro

我有一个类似的元查询:

$posts = new WP_Query( \'post_type=article&meta_key=kln_aid&meta_value=\' . $aid );
我需要的地方aid 区分大小写。这可以通过元查询实现吗?

1 个回复
最合适的回答,由SO网友:stoi2m1 整理而成

这就是meta\\u key/\\u值的工作方式。存储值的方式区分大小写。

实例meta_key = \'foo\'meta_value = \'Bar\'

将返回您要查找的结果:

$posts = new WP_Query( \'post_type=post&meta_key=foo&meta_value=Bar\' );
不会返回您要查找的结果:

$posts = new WP_Query( \'post_type=post&meta_key=foo&meta_value=bar\' );
但是,您的数据库似乎可以设置为不区分大小写,从而导致一些问题。

请注意,如果数据库排序规则不区分大小写(带有后缀\\u ci),则update\\u post\\u meta和delete\\u post\\u meta和get\\u posts将使用大写或小写键更新/删除/查询元记录。然而,由于WordPress缓存,get\\u post\\u meta显然是区分大小写的。看见https://core.trac.wordpress.org/ticket/18210 了解更多信息。

参考号:update_post_meta 有关详细信息

相关推荐

Trim posts from WP-Query?

我希望在我的首页上显示一些由以下标准确定的帖子:显示当月的所有帖子(实际上是从最近帖子对应的月份开始);但是如果这个数字少于(比如)8,那么就显示最近的8篇帖子。假设我知道每个月都不会有超过(比如)20篇文章,我会将posts\\u per\\u page设置为20,通常抓取最近的20篇文章,然后在php中进行适当的修剪(切片)。(在SQL中这样做似乎太复杂了)顺便说一句:起初我以为add_filter( \'posts_results\', ... ) 这很合适,但很难区分查询是与主循环相对应,还是与其