カスタム投稿タイプで空ではないカスタムフィールドの結果を表示しようとしましたが、結果が表示されません。
<?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`
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
このコードを試してください:
$args = array(
'post_type' => 'programmes',
'meta_query' => array(
array(
'key' => 'linktovideocatchup',
'value' => '',
'compare' => '!='
)
)
);
'NOT = LIKE'を '!='で変更するだけです。それは私のために働きました;)
でもっと良い答えがあります。meta_valueが空でない場合にのみ投稿を表示するにはどうすればいいですか - このようなnull値を問い合わせることはできません。