query_postsで、カスタムフィールドが空でない場合にのみ結果を表示します
2 回答
- 投票
-
- 2011-02-24
このコードを試してください:
$args = array( 'posts_per_page' => '10', 'post_type' => 'programmes', 'meta_key' => 'popularityfig', 'meta_value' => '', 'meta_compare' => '!=', 'order' => 'DESC' );
コードには、
meta_value
とmeta_compare
の2つの引数があります.演算子meta_compare
でmeta_compare
を使用すると、メタ値が空の投稿が除外されます.Try this code:
$args = array( 'posts_per_page' => '10', 'post_type' => 'programmes', 'meta_key' => 'popularityfig', 'meta_value' => '', 'meta_compare' => '!=', 'order' => 'DESC' );
There're 2 arguments you might want to note in the code:
meta_value
andmeta_compare
. Usingmeta_compare
with operator!=
will exclude posts with empty meta value.-
おかげで、私は今コーデックスでそれを見ることができますか?わからないうちに見えなかった理由!!再度、感謝します.Thanks, I can see that on codex now?? Why I couldn't see it before I'm not sure!! Thanks again.
- 0
- 2011-02-24
- erichmond
-
何らかの理由で、これは価値に関係なく私のすべての投稿を引っ張り続けました.代わりに、「meta_value」=> array( '')および「meta_compare」=>「NOTIN」を使用しましたが、これは機能しました.AdvancedCustomFields(ACF)プラグインを使用してメタ値を作成しましたが、これは単なるテキストフィールドでした.For whatever reason, this kept pulling all of my posts regardless of value. Instead, I used 'meta_value' => array('') and 'meta_compare' => 'NOT IN' and that worked.I created my meta value with the Advanced Custom Fields (ACF) plugin and it was just a text field.
- 0
- 2018-01-10
- Tessa
-
- 2011-03-02
上記の答えが実際に@erichmondでうまくいったかどうかは明らかではありませんが、私にとっては間違いなくうまくいきませんでした.しかし、解決策を見つけました.参照:
どうすれば表示できますかmeta_valueが空でない場合にのみ投稿します It's not clear if the answer above actually worked for you @erichmond, but it definitely did not for me. Found a solution though. See: How can I show posts only if meta_value is not empty
query_posts
を実行して、カスタムフィールドが空でないか値がある場合にのみ結果を表示するにはどうすればよいですか.カスタムフィールドにURLを入力し、URLがある場合にのみこれらのページを表示したいですか?
現在のコードですが、残りがわかりません: