2016-11-29 5 views
0

私はかなり簡単に思えるものを見つけようとしています。私は、「組み込みナビゲーション」という名前のカスタムフィールドを持っています。 「を含む-に-NAV」真であるかどうか、私が天気をに基づいて、ポストのidの持つ配列を取得しようとしたワードプレスmeta_valueに基づくポストIDを持つ配列を返します

wp_nav_menu(array( 'theme_location' => 'primary', 
         'menu_id' => 'primary-menu', 
         'include' => $post_ids 

       ) 
     ); 

:私は、メニューを作成するwp_nav_menu()を使用しています。私はget_posts()とWP_query()を試してみましたが、何をしようとしていても、投稿IDを持つ配列は返されません。助言がありますか?

フラット私たちのSQLクエリ以外も
$post_ids = get_posts(array(
     'post' 
     'meta_value' => 'include-in-main-nav' 
)); 

$nav_posts = array(
     'meta_value' => 'include-in-main-nav' 
)); 

$wp_query = new WP_Query($nav_posts); 

$post_ids = array(); 

while ($wp_query->have_posts()) : $wp_query->the_post(); 
    $post_ids[] = get_the_ID() ; 
endwhile; 
+0

get_posts()とWP_query()を使って投稿を取得しようとしたコードをあなたの投稿に更新できますか? –

答えて

0

、いいえ:$ post_idsを取得する

-edit私の試み。

これは、ネストされたメタクエリでwp_queryを使用することができます。これは投稿を返すでしょう。

$args = array(
'post_type' => 'page', 
'meta_key' => 'include-in-main-nav', 
'meta_query' => array(
    array(
     'key'  => 'include-in-main-nav', 
     'value' => 1, 
     'compare' => '=', 
    ), 
), 
); 
$query = new WP_Query($args); 


if ($query->have_posts()) : ?> 
    <?php while ($query->have_posts()) : $query->the_post(); ?>  
     <!-- MOO! time to display your menu items! --> 
    <?php endwhile; ?> 
<?php endif; ?> 

注:あなたが必要とするようなクエリの通常

例を同じように、あなたはポストをループにする必要がありますあなたの場合はそこからあなたも...あなたのIDを持つ配列を埋めることができます実際にはあなたのIDだけを持つ配列が必要です。

楽しくお楽しみください!これがm8を助けることを願っています!

+0

ありがとう、ちょうど私が必要としたもの。これを使ってIDの配列を作成し、wp_nav_menu関数を使用できるようにしました。 – Koba82

関連する問題