好的,我使用高级自定义字段中的关系字段来处理自定义帖子类型。关系列出了国家/地区,保存这些国家/地区时,它们位于一个序列化数组中:
[country] => Array
(
[0] => a:2:{i:0;s:2:"19";i:1;s:2:"72";}
)
[_country] => Array
(
[0] => field_5049ccf3aac29
)
我想从这个序列化数组中查询单个国家的自定义帖子类型,但它的格式不是很好。
在SQL中,我很想LIKE
但这既不理想,也无法通过WP_Query
关于如何实现这一点,有什么想法吗?我想我可以做一些自定义SQL来返回这个CPT的所有post ID,其中国家有我想要的国家ID,我只是希望我错过了一个非常明显/更干净的解决方案。
Edit 1
因此,我使用以下代码实现了它,但这并不理想:
<?php
$query = new WP_Query(
array(
\'post_type\' => \'some_post_type\',
\'meta_query\' => array(
array(
\'key\' => \'country\',
\'compare\' => \'LIKE\',
\'value\' => \'"\' . get_the_ID() . \'"\'
)
)
)
);
?>
我之前提到的这种方法得到了
this similar question, 同样,这并不理想,但如果有人知道更好的解决方案,我会洗耳恭听。
最合适的回答,由SO网友:Ben Everard 整理而成
回答我自己的问题,正如我在编辑中建议的那样,我不得不使用以下内容meta_query
用于查询帖子的数组:
\'meta_query\' => array(
array(
\'key\' => \'country\',
\'compare\' => \'LIKE\',
\'value\' => \'"\' . get_the_ID() . \'"\'
)
)