2016-11-29 2 views
0

Я пытаюсь выяснить, что должно быть довольно легко, я думаю. У меня есть пользовательские поля с именем «include-in-nav». Я использую wp_nav_menu() для создания меню:WordPress Возвращает массив с идентификатором сообщения на основе meta_value

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

       ) 
     ); 

Я пытался получить массив с почтовыми идентификаторами на основе Wether «включают в-нав» истинно или нет. Я пробовал get_posts() и WP_query(), но все, что я пытаюсь, похоже, не возвращает массив с идентификаторами сообщения. Какие-либо предложения?

-Edit мою попытку получить $ post_ids:

$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

хорошо, кроме плоского нашего запроса SQL, Нету.

вы можете использовать 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; ?> 

примечание: оттуда вы можете также заполнить массив с идентификаторами .. если действительно нужен массив с только вашими идентификаторами.

Удачи! надеюсь, это поможет вам выйти из m8!

+0

Спасибо, что мне нужно. Использовал это, чтобы действительно создать массив с идентификаторами, чтобы я мог использовать функцию wp_nav_menu. – Koba82

Смежные вопросы