suzuboss.info

実際に使ってみた・試してみた経験が誰かの「かゆいところに手が届く」なら幸いです。

Web系

get_postsでカスタムフィールドにチェックボックスを使っていた場合

投稿日:

WordPressのプラグイン「Advanced Custom Fields」を使ってカスタムフィールを使い、表示するかしないかの判定をするために、フィールドタイプをチェックボックスにしてカスタムフィールドを作った。
「meta_query」を使い、カスタムフィールドをキーにして絞り込みをすることにした。ここでは「ca_pickup」が「true」のものを抽出する条件にした。


$args = array(
	'posts_per_page'=>'-1',
	'post_type'=>'category',
	'meta_query' => array(
		array('key'=>'ca_pickup', 'value'=>'true', 'compare'=>'==')
	)
);
$category= get_posts($args);

結果は1件もヒットせず。なぜ?「compare」部分を「LIKE」とするとヒットするようになった。でも、それではよろしくないので、チェックボックスの値を見てみると配列で返ってきていた。そのせいでLIKEじゃないとヒットしなかった様子。

カスタムフィールドの段階で、チェックボックスを選ぶのではなく、フィールドタイプを「真/偽」にして以下のコードに修正したらいい感じに動いた。


$args = array(
	'posts_per_page'=>'-1',
	'post_type'=>'category',
	'meta_query' => array(
		array('key'=>'ca_pickup', 'value'=>'1', 'compare'=>'==')
	)
);
$category= get_posts($args);

表示するしないの判定だけなら最初から「真/偽」で作っとけばよかったって話でした。

-Web系

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

リンク画像をロールオーバーでクロスフェードさせる

jQuery v1.10.2で動いています。 aタグに含まれた画像のフェードタイプのロールオーバーです。画像のファイル名の末尾には「_on」「_off」をつけておきます。aタグ内に画像もテキストも含ま …

no image

EC-CUBEで規格以外に項目を追加した②

前回はテンプレートファイルのカスタマイズをしたのでその続きから始めます。 Classファイルの修正 ディレクトリ内の『data/class/』に各種クラスファイルが保存されています。修正や追加をする場 …

no image

EC-CUBEで規格以外に項目を追加した③

前回はフロント側のクラスまわりをカスタマイズしたのでその続きから始めます。 受注管理あたりをカスタマイズすることになります。

no image

EC-CUBEで規格以外に項目を追加した①

試行錯誤の末に問題なく動作するようになったと思うので、メモ的に残しておきます。 利用したEC-CUBEのバージョンは『2.13.2』です。テンプレートは『EC-CUBE on Bootstrap3』に …

no image

jQuery Mobileでページ内アンカーと外部からのアンカー

ほとんど触ったことのない『jQuery Mobile』ですが、少し触る機会がありました。 ハッシュタグを使ったアンカーで、通常はハッシュタグで指定の箇所へページ内アンカーとして動くのですが、jQuer …

記事を探す