Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 即使数据正确,wordpress元查询也总是失败_Php_Wordpress - Fatal编程技术网

Php 即使数据正确,wordpress元查询也总是失败

Php 即使数据正确,wordpress元查询也总是失败,php,wordpress,Php,Wordpress,我有以下疑问- $query = array( 'post_type' => 'accessory', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => 'accessory-bike', 'value' => array("33"), 'compare' => 'IN'

我有以下疑问-

$query = array(
    'post_type' => 'accessory',
    'posts_per_page' => -1,
    'meta_query' => array(
        array(
            'key' => 'accessory-bike',
            'value' => array("33"),
            'compare' => 'IN'
        )
    )
);
现在我在数据库中找到了这个记录-

520
附件的标识。它仍然返回0个结果。我不知道我到底哪里做错了?愚蠢的wordpress

SELECT   wp_posts.* 
            FROM wp_posts  
            INNER JOIN wp_postmeta 
            ON ( wp_posts.ID = wp_postmeta.post_id ) 
            WHERE 1=1  
            AND wp_posts.post_type = 'accessory' 
            AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'future' OR wp_posts.post_status = 'draft' OR wp_posts.post_status = 'pending' OR wp_posts.post_status = 'private') 
            AND ( ( wp_postmeta.meta_key = 'accessory-bike' AND CAST(wp_postmeta.meta_value AS SIGNED) IN ('33') ) )
            GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC

520杆上的
附件自行车
的值不是33;它是一个序列化字符串


我可以看到您使用的是高级自定义字段,所以您需要做的就是选择一个不同的字段类型,它不会将数据保存在序列化字符串中。你可能会发现像自定义分类法这样的东西更合适。

看起来meta_值是
'a:2:{i:0;s:2:33;i:1;s:2:61;}'
。是的。我有两个选择。可以使用自定义分类法,也可以删除ACF并处理此特定post类型的post meta。