web-dev-qa-db-ja.com

メタクリで結果が表示されない

カスタム投稿タイプで空ではないカスタムフィールドの結果を表示しようとしましたが、結果が表示されません。

                    <?php

                        if (have_posts()) :
                            $args = array(
                                'post_type' => 'programmes',
                                'meta_query' => array(
                                        'key' => 'linktovideocatchup',
                                        'value' => '',
                                        'compare' => 'NOT LIKE'),
                                //'caller_get_posts' => 1,                              
                                );
                        ?>

                        <?php query_posts( $args ); ?>


                        <?php while (have_posts()) : the_post(); ?> `enter code here`
1
erichmond

meta_query要素内に配列がありません。

$args = array(
           'post_type' => 'programmes',
           'meta_query' => array(
                              array(
                                   'key'     => 'linktovideocatchup',
                                   'value'   => '',
                                   'compare' => 'NOT LIKE'
                                   )
                              )
            );

(これは複数のメタフィールドの問い合わせを可能にするために必要です。)

また、meta_query配列要素の後に余分なコンマがあるため、問題が発生する可能性があります。

'NOT LIKE'ではなく、演算子 '<>'を使うこともできると思います。私はそれがより効率的であると信じています。

ここにmeta_query機能に関する良い記事があります。 http://scribu.net/wordpress/advanced-metadata-queries.html

7

このコードを試してください:

$args = array(
       'post_type' => 'programmes',
       'meta_query' => array(
                          array(
                               'key'     => 'linktovideocatchup',
                               'value'   => '',
                               'compare' => '!='
                               )
                          )
        );

'NOT = LIKE'を '!='で変更するだけです。それは私のために働きました;)

0
user26184
0
robalan