勉強したことのメモ

webプログラマが勉強したことのメモ。

Advanced Custom Fieldsで記事取得

   

WordPressでAdvanced Custom Fieldsにて設定した項目を条件に記事一覧を取得したかった。例えばテストフラグという真偽値のカスタムフィールドでtrueが入っている記事を取得したいというもの。以下に方法をメモ。

 

取得方法

まず前提として記事取得方法は以下を参照。

https://taitan916.info/blog/?p=2806

 

argsの部分に以下を追記する。

$args = array(
	'posts_per_page' => 3,
	'paged' => $paged,
	'orderby' => 'post_date',
	'order' => 'DESC',
	'post_type' => 'post',
	'post_status' => 'publish', 
	'meta_query' => array(
		array(
			'key' => 'テストフラグ', 
			'value' => true
		),
	),
);

 

複数指定したい場合は以下のような形になる。

$args = array(
	'posts_per_page' => 3,
	'paged' => $paged,
	'orderby' => 'post_date',
	'order' => 'DESC',
	'post_type' => 'post',
	'post_status' => 'publish', 
	'meta_query' => array(
		//真偽値のフィールド
		array(
			'key' => 'テストフラグ', 
			'value' => true
		),
		//セレクトメニューのフィールド
		array(
			'key' => 'テストセレクト', 
			'value' => 1
		),
	),
);

 

プラグインのバージョン

使用中のバージョンは4.4.12でプラグインは以下の通り。

https://ja.wordpress.org/plugins/advanced-custom-fields/

 

まとめ

プラグインファイルの編集とかはいらず、meta_queryを指定することで対応が可能。

 - WordPress

  関連記事

WordPressにてフッターへ出現する笑顔マーク(smiley)を見えなくする方法

■やりたい事 WordPressにて左下へ勝手に出現する笑顔マーク(smiley ...

WordPressのパーマリンクについて

WordPressのパーマリンクについて、思ったことなんだけど、 ・URLに日本 ...

WordPressログイン時のヘッダーメニューを非表示

WordPressログイン時にフロント側のページを見るとヘッダーにメニューが表示 ...

WordPressの記事をfacebookに投稿

WordPressの記事をfacebookに投稿する際にOGP設定をする必要があ ...

WordPressを停止しないままサーバ移設する方法

WordPressを設置しているサーバのリソースがそろそろ危ういので移設を検討す ...

contact form7で送信数を測定

contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...

WordPressで任意のクエリをページ内で出力する方法

WordPressの固定ページ内でuidという任意のGETクエリを取得して、記事 ...

Advanced Custom FieldsでGoogleMapの使用

Advanced Custom FieldsでGoogleMapを使用したかった ...

WordPressを4.8.2にして不具合

WordPressを4.8.2にすると記事の新規追加時にウィジウィグの挙動がおか ...

WordPressでサイトが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...