我正在使用wordpress搜索一些具有一些限制的內容。每次我保存一篇文章,我保存在元相關的職位數組。在wordpress中使用meta_query進行搜索
然後,我正在嘗試搜索所有具有特定帖子作爲相關帖子,我有以下查詢。選定的帖子是我要查找的帖子的ID。
我檢查了$selected_post
,它的值如下。
$selected_post = "25";
我使用以下說明添加了元值,我使用的是update_post_meta
。 $related_posts
包含一個post ID的數組,如下例所示。
update_post_meta($post->ID, 'related_post', $related_posts);
查詢
$arg = array(
'post_type' => 'post',
'posts_per_page' => 5,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'related_post',
'value' => array($selected_post),
'compare' => 'IN',
'type' => 'STRING'
),
),
);
我在我的一些現有員額的檢查這個元,我有這樣的事情。
'related_post' => array('15', '25', '46');
當我使用WP_Query
執行這個查詢,它總是返回我空數組。我想我需要更多的查詢來使這個工作。
任何幫助,將不勝感激。
你的代碼很好 - 你不應該在那裏有''relation'=>'OR''因爲你在yuor meta_query中只有一個條件,但它仍然可以工作。所以它必須要處理數據本身。你確認'$ selected_post'有一個有效的單值嗎?你如何添加'related_post'(例如自定義字段,使用add_post_meta.ACF)以及它是什麼格式?如果您只是查詢單個值,爲什麼不用'='而不是'IN'? – FluffyKitten
@FluffyKitten首先,感謝您的評論。是的,我檢查了'$ selected_post'只有一個值。我會更新我的問題,並向您提供您要求的信息。我在詢問我的'$ selected_post'是否在related_posts數組中,它不是一個單一的值。 –