簡體   English   中英

WordPress由ACF查詢帖子

[英]WordPress query posts by ACF

更新 - 已解決

好的,所以我有三種自定義帖子類型“課程”,“模塊”和“結果”。 這些帖子類型設置有許多ACF(高級自定義字段)。

我試圖使用'meta_query'基於他們的ACF查詢'結果'CPT。

我正在嘗試查詢的兩個ACF字段是“模塊”和“用戶”。

  • 'module' - 設置為'關系'字段類型,過濾'模塊'自定義帖子類型。
  • 'user' - 設置為(關系)'用戶'字段類型。

我似乎只得到一個空陣列。 我已經看過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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM