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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Logicool C310(V-U0015)をSkypeで使ってみた

在宅の方と仕事をする際にSkypeを使っています。顔を見ながら話せると電話よりも伝わるのでいいですよね。 デスクトップでSkypeを使う時にはWebカメラを利用しています。使っているのはロジクールの「 …

no image

Google API OAuth 2.0のリフレッシュトークンでハマった

WebアプリでGoogle Search ConsoleのAPIを使うにあたり、リフレッシュトークン関連でハマったのでメモしておきます。 アクセストークンの取得 特に何も考えずにアクセストークンを取得 …

no image

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

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

no image

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

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

no image

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

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

記事を探す