1

メタ値で wp データベースの順序から投稿を取得しようとしています。問題は、データベースにメタ キーを持つ投稿とそうでない投稿があることです。

私はこのコードを試します:

$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 のメタ キーがあります。そうでない場合、この投稿には「top」という名前のメタ キーはありません。

では、そのようなメタキーで投稿を注文するにはどうすればよいですか?

ありがとう。

4

1 に答える 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 -->
于 2013-08-01T10:42:39.847 に答える