| iOS向けのGoogleMapついに帰還!ブログトップ | CMS関連 | 【WordPressメモ】カテゴリー(タクソノミー)のURLを取得する
カスタムフィールドの値が空だと、meta_queryの条件に引っかからない【WordPress】
この記事は1年以上前の記事のため、内容が古い可能性があります。
バージョンによるバグらしいけど、一応メモ。
「カスタムフィールドテンプレート」で
[test_field]
type=checkbox
value=true
のようなフィールドを追加し、次にテンプレートのquery_postsで
$query = array( array( 'key' => 'test_field', 'value' => 'true', 'compare' => '!=', 'type' => 'CHAR' ) ) );
こんな感じの条件文(つまりtest_filedにチェックが入ってない場合)を書いたところ、一向にヒットしませんでした。
もちろん、チェックが入っていない記事は存在します。
逆に
$query = array( array( 'key' => 'test_field', 'value' => 'true', 'compare' => '=', 'type' => 'CHAR' ) ) );
だと、チェックが入っている記事がちゃんと表示されました。
どうもvalueが空状態だと条件にヒットしなくなるバグが3.1のころにあったみたいです。
それは3.2で正常に戻ったそうなんですが、自分が使っているのは3.4.2・・・
バグ復活といったところでしょうか。
解決方法につきましては、以下のサイトで紹介されておりました。
WordPress3.1系:meta_queryでvalueが空の時の対処法 | ライ麦畑でつかまえられて、思わず出たオナラが案外フローラルだった感動を貴方にも。
他にもラジオボタンやプルダウンにして、絶対に値が入るようにするなどの方法を取るという手もあります。(自分はソースを変えるのが面倒だったので、この方法で回避しました。)
トラックバック
トラックバックURL
コメントする
※メールアドレスが公開されることはありません。