![](/img/trans.png)
[英]Wordpress / Acf Query Posts by a custom field and order them by another
[英]WordPress query posts by ACF
更新 - 已解決
好的,所以我有三種自定義帖子類型“課程”,“模塊”和“結果”。 這些帖子類型設置有許多ACF(高級自定義字段)。
我試圖使用'meta_query'基於他們的ACF查詢'結果'CPT。
我正在嘗試查詢的兩個ACF字段是“模塊”和“用戶”。
我似乎只得到一個空陣列。 我已經看過https://www.advancedcustomfields.com/resources/query-posts-custom-fields/#custom-field%20parameters上的例子但仍然沒有任何運氣。
function check_results_for_user( $module_id, $user_id ){
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'results',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'module',
'value' => $module_id,
'compare' => '=',
),
array(
'key' => 'user',
'value' => $user_id,
'compare' => '=',
),
),
));
return $posts;
}
通話功能:
print_r(check_results_for_user($post->ID, $currentUserID ));
結果:
Array ( )
更新 - 解決:
好的,所以設法搞清楚了。 是由於'module'關系字段將其數據保存為序列化數組: a:1:{i:0;s:1:"9";}
所以你必須將比較更改為'LIKE'並將值包裝在“
function check_results_for_user( $module_id, $user_id ){
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'results',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'module',
'value' => '"'.$module_id.'"',
'compare' => 'LIKE',
),
array(
'key' => 'user',
'value' => $user_id,
'compare' => '=',
),
),
));
return $posts;
}
請參見本頁末尾: https : //www.advancedcustomfields.com/resources/querying-relationship-fields/
更新 - 解決:
好的,所以設法搞清楚了。 是由於'module'關系字段將其數據保存為序列化數組: a:1:{i:0;s:1:"9";}
所以你必須將比較更改為'LIKE'並將值包裝在“
function check_results_for_user( $module_id, $user_id ){
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'results',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'module',
'value' => '"'.$module_id.'"',
'compare' => 'LIKE',
),
array(
'key' => 'user',
'value' => $user_id,
'compare' => '=',
),
),
));
return $posts;
}
請參見本頁末尾: https : //www.advancedcustomfields.com/resources/querying-relationship-fields/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.