2017-09-18 15 views
0

私は自分の最初のWordpressの子供のテーマを、既存のテーマに取り組んでいます。WordPressの特定のmeta_key値に一致する投稿IDを取得する

meta_id 
post_id 
meta_key 
meta_value 

私に興味のあるいくつかのメタキー:

book_title 
exhibition_name 

私は、すべての本のタイトルを取得したいと思いますし、それに対応するポストのID

wp_postmetaテーブルには、次の列があります。特定の展示名と一致するもの

私がget_post_meta呼び出しを使用する場合、パラメータ$ post_idが必要です。したがって、それは行き止まりです(私が知る限り)。

WordPress APIを使って、私がどのようにしたいと思いますか?

ソリューション

は、答えは@Junaidが提供するが、構文は、それに軽微な誤りがあった:

$args = array(
    'post_type' => 'post', 
    'meta_query' => array(
     array(
      'key' => 'exhibition_name', 
      'value' => 'Science Exhibition' 
     ) 
    ) 
); 

$query = new WP_Query($args); 

if ($query->have_posts()) { 
    while ($query->have_posts()) { 
     $query->the_post(); 
     $post_id = get_the_ID(); 
     $title = get_post_meta($post_id, 'book_title'); 
    } 
} 

答えて

1

あなたはWP_Queryを使用してみましたし、meta_query引数を渡すことがありますか?

$args = array(
    'post_type' => 'post', 
    'meta_query' => array(
     'key' => 'exhibition_name', 
     'value' => 'Science Exhibition' 
    ) 
); 

$query = new WP_Query($args); 

if ($query->have_posts()) : 
    while ($query->have_posts()) : 
     $query->the_post(); 
     $post_id = get_the_ID(); 
     $title = get_post_meta($post_id, 'book_title'); 
    endwhile; 
endif; 

このコードを試してみてくださいあなたは、配列の配列内のキーと値を持っている必要があり

+0

ノートではなく、単一のアレイをテストされていません。実際の回答については、自分の投稿への編集を参照してください。 – EastsideDeveloper

+0

良いキャッチ。とにかくメモ帳に書きましたので、何が足りないのか分かりませんでした。 – Junaid

関連する問題