2017-06-12 12 views
0

私はフィルタリングを使用したカスタムポストタイプのカスタムループを実行しようとしていますいくつかのmeta_keyvalueWordPressのカスタムループフィルタによる

今、単純なメタ値が正常に動作しますが、ここで私はと挑戦を持っている シリアル化されたデータ(ネストされた)の下の種類。

私は、メタボックスのwpalchemyを使用しています。私は私のためにそうac_event_operationsac_event_positionsac_event_employees

に基づいてAll Eventsをフィルタリングしようとしています

a:9:{s:19:"ac_event_operations";a:1:{i:0;s:8:"Training";}s:18:"ac_event_positions";a:1:{i:0;s:10:"Supervisor";}s:18:"ac_event_employees";a:1:{i:0;s:2:"15";}s:13:"ac_event_date";s:10:"2017-06-15";s:19:"ac_event_start_time";s:5:"06:30";s:17:"ac_event_end_time";s:5:"07:00";s:14:"ac_event_place";s:6:"Office";s:18:"ac_event_organizer";s:4:"Jack";s:16:"ac_event_contact";s:4:"Rose";} 

以下のようにmeta_keyポストタイプが_event_metavalueであるためには、課題は、値によるフィルタリングのイベントを取得することですmeta_keysの上から。ここで私が使用したクエリはありますが、もちろん結果は得られません。

global $event_mb; 
$meta = get_post_meta(get_the_ID(), $event_mb->get_the_id(), TRUE); 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args  = [ 
    'post_type'  => 'event', 
    'posts_per_page' => get_option('posts_per_page'), 
    'paged'   => $paged, 
    'meta_query'  => [ 
     'meta_key' => '_event_meta', 
     'value' => '%ac_event_employees%', 
     'compare' => 'LIKE' 
    ], 

]; 
$temp  = $wp_query; 
$wp_query = NULL; 
$wp_query = new WP_Query($args); 

答えて

0

、以下のような多くの参考のために

$args = array(
    'meta_query' => array(
     'relation' => 'OR', 
      array(
       'key'  => 'country', 
       'value' => 'Israel', 
       'compare' => '=' 
      ), 
      array(
       'key'  => 'age', 
       'value' => array(20, 30), 
       'type' => 'numeric', 
       'compare' => 'BETWEEN' 
      ) 
    ) 
); 
$user_query = new WP_User_Query($args); 

使用します。https://codex.wordpress.org/Class_Reference/WP_User_Query

+0

を私は値をフェッチ動的ではなく静的配列で定義されたいです。私はあなたが提供した解決策に少し疑念があります。 –

+0

ループ内にmeta_keyとvalueだけを使用できます。私はたとえば、あなたが望むように変更することができます。 – GNANA

関連する問題