gpt4 book ai didi

php - 在 meta_query 中设置比较错误 - wordpress

转载 作者:搜寻专家 更新时间:2023-10-31 21:29:13 25 4
gpt4 key购买 nike

复选框保存在 db 中!

数据库结构(wp_postmeta表):

________________________________________________________________
| | |
| meta_key | meta_value |
|_______________|_______________________________________________|
| | |
| artist_nameaa | a:2:{i:51;s:2:"51";i:60;s:2:"60";} |
|_______________|_______________________________________________|

已选中两个复选框!

我想找到 artist_nameaa 在他的数组中有 51 键的帖子

51 is an example

这是我的尝试:

    wp_reset_postdata();
global $post;
$args = array(
'post_type' => 'songs',
'meta_query' => array(
array(
'key' => 'artist_nameaa',
'value' => serialize(array($post->ID=>"$post->ID")),// a:1:{i:51;s:2:"51";}

'compare' => 'IN'
)
),
'no_found_rows' => true,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
'ignore_sticky_posts' => 1,
'post__not_in' => array($post->ID),
'posts_per_page' => -1
);

$query = new WP_Query($args);
return $query;

最佳答案

IN() 比较运算符用于替换几个 where 子句 ( docs) 。它最终将寻找完全匹配的结果。

您所做的更多是搜索。您不知道您的数据集将落在序列化字符串的哪个位置。对于这种类型的搜索,您应该使用 LIKE 运算符 ( docs )。对于此类搜索,您需要使用通配符标志。

根据我收集到的有关您存储的数据类型的信息,您可能需要重新考虑您的存储机制。自定义字段确实支持同一元键的多个值,这将是一种快速的方法。你也可以利用 Custom Post Types或自定义表格 ( wpdb )。

关于php - 在 meta_query 中设置比较错误 - wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32012691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com