WordPress: ошибка в получении сообщения от met_key

У меня есть этот код,

    $type = get_the_ID();
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$units3 = new wp_query( array(  'post_type' => 'units' ,
'posts_per_page'=> 6 ,
'paged' => $paged  ,
'meta_key' => 'unittype',
'meta_value' => $type ) );
while ($units3->have_posts()) : $units3->the_post();

Это должно получить мне весь пост от unit То есть в типе блока, который id = $type
Но этот вопрос — достань мне все посты.

Это должно получить мне только все сообщения из типа сообщений, которые в типе сообщений типа сообщения,

Где ошибка

0

Решение

Мета-ключ предназначен для использования meta_value_num в параметре заказа,

Вам нужно использовать meta_query для запроса определенных метаданных

Сначала проверьте свой запрос, пока не получите правильные данные

$data = query_posts( array(
'post_type' => 'your_custom_post_type',
'orderby' => 'meta_value_num',
'meta_key' => 'your_order_meta_key',
'posts_per_page'=> 5,
'meta_query' => array(
array(
'key'     => 'key_to_only_display_if_exist',
'value'   => array( 3, 4 ),
'compare' => 'IN',
)
)
)
);
var_dump($data);

Тогда используйте query_post

query_posts( array(
'post_type' => 'your_custom_post_type',
'orderby' => 'meta_value_num',
'meta_key' => 'your_order_meta_key',
'posts_per_page'=> 5,
'meta_query' => array(
array(
'key'     => 'key_to_only_display_if_exist',
'value'   => array( 3, 4 ),
'compare' => 'IN',
)
)
)
);
if (have_posts()) :
while (have_posts()) : the_post();
echo '<div class="post-entry">';
echo '<h2><a href="'.get_the_permalink().'">' . get_the_title() . '</a></h2>';
echo '<div class="entry-content">'. apply_filters('the_content',get_the_content('Read More')).'</div>';
echo '</div>';
endwhile;
endif;
wp_reset_query();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]