Advanced Custom Fieldsでチェックボックスの記事を取得
Advanced Custom Fieldsでチェックボックス設定しているカスタムフィールドがあり、チェックされている値ごとに記事を取得したかった。以前対応したような形でいけるかと思いきやそうでもなかったので対応方法をメモ。
設定内容
チェックボックスの中身は以下を想定し、フィールド名は「テストチェックボックス」とする。
- 1 : 赤
- 2 : 青
- 3 : 緑
MySQLの保存内容
以下のようなシリアライズされた形で保存されていた。
1 |
a:2:{i:0;s:1:"2";i:1;s:1:"3";} |
取得方法
前提としてチェックボックスの値はGETクエリにてtest=値の形で指定するものとする。以下のような形で取得。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php $paged = (int) get_query_var('paged'); $args = array( 'posts_per_page' => 10, 'paged' => $paged, 'orderby' => 'post_date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'post__not_in' => array( get_the_ID() ), ); if( $_GET['genre'] ){ $args['meta_query'] = array( array( 'compare'=>'LIKE', //LIKE検索指定 'key' => 'テストチェックボックス', 'value' => '1:"' . $_GET['test'] . '"' ), ); } $the_query = new WP_Query($args); ?> |
LIKE検索でシリアライズされている内容から無理やり抽出する形になる。今回は値を数値で入れていたので助かったが、文字列の場合は検索ができない場合も出てきそう。
まとめ
Advanced Custom Fieldsでチェックボックスの記事を取得する場合はLIKE検索で抽出する。値部分は文字列で設定しておいた方が良い。
関連記事
-
-
contact form7で500エラー
WordPressプラグインのcontact form7で送信ボタンを押し、ロー ...
-
-
Advanced Custom Fieldsで記事取得
WordPressでAdvanced Custom Fieldsにて設定した項目 ...
-
-
WordPressにインスタグラムの画像を表示
WordPressにインスタグラムへ投稿している画像を表示させたかった。プラグイ ...
-
-
さくらvpsにワードプレスを導入
さくらvpsで立ち上げたサーバーにWordPressを導入した際のメモ。 ①ダウ ...
-
-
WordPressのサーバー移行で気付いた点
あるWordPressを置いているサーバーのリソースが苦しくなってきたので、新た ...
-
-
WordPressでSNSボタンが表示されない
WordPressでWordPress WP Social Bookmarkin ...
-
-
WordPressで自動でmetaタグのkeywordsとdescriptionを表示
metaタグのkeywordsとdescriptionにて、基本的にはAll i ...
-
-
WordPressのメール送信フォームに画像認証を設置する
■やりたかった事 ココで作成したメール送信フォームに画像認証を設置する ■方法 ...
-
-
WordPressで「データベース接続確立のエラー」
WordPressで設定ファイル(wp-config.php)は触っていないのに ...
-
-
WordPressのWP-Mail-SMTPプラグインが動かない
PHPのバージョンを下げてからWordPressで外部メールサーバが使えるWP- ...