我有一個名為“item”的自定義帖子型別,其中包含一個顏色選擇器欄位。在另一個名為“發布”的自定義帖子型別中,我添加了關系欄位以創建與專案的關聯。我正在嘗試使用 get_posts 從關系中提取顏色代碼,但沒有成功。
$related_items = get_posts(array(
'post_type' => 'item',
'meta_query' => array(
array(
'key' => 'related_item', // name of custom field
'value' => '"' . get_the_ID() . '"',
'compare' => 'LIKE'
)
)
));
關于為什么這不起作用的任何想法?
uj5u.com熱心網友回復:
這可能不起作用的原因有很多,所以我建議采用更簡化的方法。
如果您已經使用 ACF 創建了關系,那么只需使用ACF 中的 get_field(), https://www.advancedcustomfields.com/resources/get_field/函式,而不是對所有帖子進行查詢。那應該回傳您需要的帖子或帖子ID。它也將占用更少的資源,因為該資料已經保存到您當前的帖子中。然后,如果您使用 ACF 添加自定義顏色,則可以使用相同的 get_field() 函式,但將參考的 ID 作為第二個引數傳遞。
例子:
// get related item first
$related_item = get_field('related_item');
根據您設定 ACF 欄位的方式,它將提供帖子或 ID。如果它回傳一個物件,即帖子,那么您獲取顏色的下一行將如下所示:
$related_item_color = get_field('color', $related_item->ID);
顏色是相關專案的欄位名稱。如果 $related_item 回傳一個數字,那么只需將該數字傳遞到 get_field 中,它就是帖子 ID。
$related_item_color = get_field('color', $related_item);
所有這些都假設您正在使用 post 模板或從該模板呼叫的函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/331151.html
標籤:php WordPress的 高级自定义字段 元素
