2013-08-01 1 views
1

Я пытаюсь получить сообщения из заказа базы данных wp по метазначению. Проблема в том, что некоторые сообщения имеют мета-ключ в базе данных, а некоторые нет.Wordpress - получить сообщения, упорядоченные по значению meta

Стараюсь этот код:

$args = array(
     'post_type' => 'post', 
     'meta_key' => 'top', 
     'meta_query' => array(
      'relation' => 'OR', 
      array(
       'key' => 'top', 
       'compare' => 'NOT EXISTS', 
       'value' => '' 
      ), 
      array(
       'key' => 'top', 
       'value' => '1' 
      ) 
     ), 
     'orderby' => '1' 
    ); 
    $posts = new WP_Query($args); 

Это шоу сообщения, но и не заказанную мета ключ.

Для лучшего объяснения, я хочу, чтобы некоторые сообщения отображались всегда сверху или спереди. Поэтому я добавляю мета-ключ с именем «top». Это хорошо работает - я также изучил базу данных, и мета-ключ обновляется правильно. Если пост является TOP, то он имеет мета-ключ со значением 1, если нет, то метаданных с именем «верх» для этого сообщения нет.

Так как я могу заказать сообщения с таким мета-ключом?

Спасибо.

ответ

0

то будет работать для меня:

query_posts('meta_key= top&orderby=meta_value'); 

полный код:

<?php 
query_posts('meta_key=facebook_likes&orderby=meta_value'); 
?>  
<?php while (have_posts()) : the_post(); ?> 

<div class="post"> 
<h2 class="postTitle"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> 
<div class="postMeta"> 
<span class="date"><?php the_time('M.d, Y') ?></span> in 
<span class="filed"><?php the_category(', '); ?></span> 
</div> 
<div class="postContent"><?php the_content(); ?></div> 
<p class="comments"><?php comments_popup_link(); ?></p> 
</div> <!-- Closes Post --> 
+0

Это не работает, потому что сообщения без мета ключа с именем «сверху» не считается. Мне нужно получить все сообщения с мета-ключом или без него с именем «top», а затем упорядочить их по мета-значению. – quarky

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

  • Нет связанных вопросов^_^