[WordPress]Advanced Custom FieldsのOptions Pageがマジで便利だった話

最終更新: 2019/02/27/公開: 2019/02/27
この記事は 2019年2月27日 に投稿されました。
内容が古いかもしれません。ご注意ください。
※最後に更新されたのは 2019年2月27日 です。

ACFを使っていて、記事や投稿と紐付かない場所(カスタム投稿タイプアーカイブとか)に可変の要素を入力させたいとかってもうどこにデータ持たせたらいいかわからないなあと悩むときがたまにあったのですが、フィールドグループの条件の中に…「オプションページ」……?なんやこいつ……

ググったら紹介してる方がおられまして。これは便利そうだな???
データだけ持たせておけそうです。

Advanced Custom FieldsのアドオンOptions Page(オプションページ)の使い方と出力方法

KERENOR { ケレンオール } | 埼玉のフリーランスWebデザイナー

ACF公式ドキュメント「The Options Page」

ACF | Advanced Custom Fields Plugin for WordPress

オプションについてはこちら

コードなどの詳細

とりわけ細かい分類がない場合は、acf_add_options_page()で項目を追加すれば十分かなと思いました。要件によってという感じですね…

functions.php

if( function_exists('acf_add_options_page') ) {
  //オプションページを有効化
	acf_add_options_page(array(
    	'post_id' => 'act_options',
		'page_title' 	=> 'オプション設定',
		'menu_title'	=> 'オプション設定', //必要があれば設定・デフォルトではpage_titleを使用とのこと
		'menu_slug' 	=> 'options',//任意で設定・テンプレート内での値呼び出しに使用
		'capability'	=> 'edit_posts',
		'parent_slug'	=> '',
		'icon_url' => 'dashicons-heart', //dashiconの一覧、「Copy HTML」で表示されるソースの「dashicon-XXX」を使ったらアイコンが変えられます
		'position'	=> false,
		'redirect'	=> false
	));
 
}

テーマ内

<?php
  //だいたいこんな感じ
  echo get_field('フィールド名','options') //第2引数がmenu_slugです
?>

いろいろ使えそうです!おわり。