Advanced Custom Fieldsの関数の全部の使い方を調べてみた
2015/12/27
Advanced Custom Fieldsの関数の全部
Advanced Custom Fieldsには多彩な関数が用意されている
Advanced Custom Fieldsには、登録したカスタムフィールドや投稿画面から入力した情報を取得し、テンプレートなどに編集するための関数が用意されています。
一番よく使うのは「get_field()」関数で、投稿画面から入力された値を取得する際に使用します。
また、値を取得するだけではなくそのまま出力まで実行してくれる「the_field()」関数や、フィールド単位ではなく投稿全体の全てのカスタムフィールドの値を取得してきてくれる「get_fields()」関数なども用意されています。
Advanced Custom Fieldsは便利で高機能なプラグインですので、全部の機能を使いこなすのは難しいですが、まずはどんなことができるのか、それを確認する上でも用意されている関数の使い方を調べてみましたのでご紹介します。
Advanced Custom Fieldsの関数の全部・目次
get_field()
get_fields()
get_field_object()
get_field_objects()
get_sub_field()
get_sub_field_object()
get_row_layout()
have_rows()
has_sub_field()
the_field()
the_sub_field()
the_repeater_field()
the_flexible_field()
Shortcode()
update_field()
update_sub_field()
acf_set_options_page_menu()
acf_set_options_page_title()
acf_set_options_page_capability()
acf_add_options_page()
acf_add_options_sub_page()
acf_form()
acf_settings()
Advanced Custom Fieldsの関連記事・目次
カスタムフィールド決定版!Advanced Custom Fields全項目完全解説・管理画面編
Advanced Custom Fieldsの全項目解説・公開側表示編集編
WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法
Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説
Advanced Custom Fields(ACF)のアドオン・繰り返しフィールドの使い方解説
Advanced Custom Fieldsの関数の全部の解説
get_field()
Advanced Custom Fieldsで登録した入力フィールドの値を編集として取得する際に使用する関数です。
取得できる値は、入力フィールドの条件によって、変数、配列、オブジェクトなど様々です。
「the_field()」は、「echo get_field ( $field_name );」と同じ機能です。
1 2 3 |
// get_field()の基本形 $field = get_field($field_name, $post_id, $format_value); echo $field; |
$field_name
取得する入力フィールドの「フィールド名」を指定します。必須項目です。
$post_id
取得する POST IDを指定します。必須項目ではなく、省略をすると現在表示中のページの POST IDが編集されたものとして処理されます。
投稿 IDだけではなく、オプション、タクソノミー、ユーザなども登録できます。
$format_value
取得した値をフォーマット対応するか、否かを設定します。trueか falseが設定でき、省略した場合は trueになります。
フィールドタイプが「テキストエリア」などで wpautop()や nl2br()などでフォーマットするかどうかを指定する項目で、trueの場合はフォーマットが適用されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
// 表示中の投稿の値を編集する場合 $value = get_field ( "s-text" ); echo $value; // PostID(投稿ID)を指定する場合 $value = get_field ( "s-text", 123 ); echo $value; // 条件分岐付きで処理する場合 $value = get_field ( "s-text" ); if ( $value ) { echo "<p>" . $value . "</p>"; } else { echo "empty"; } // $post_id の指定の仕方で取得できる値が大きく変わります。 // 現在の optionを取得します。下記 2つは同じです。 $value = get_field ( "s-text", "option" ); $value = get_field ( "s-text", "options" ); // カテゴリを取得する場合は、「category_」+カテゴリIDです。 $value = get_field ( "s-text", "category_123" ); // カテゴリを取得する場合は、タクソノミーの Slug+「_」(アンダースコア)+タームIDです。 // 下記の例は、「event」というタクソノミーの情報を取得する場合です。 $value = get_field ( "s-text", "event_123" ); // ユーザの情報を取得する場合は、「user_」+ユーザIDです。 $value = get_field ( "s-text", "user_123" ); |
この関数は下記の記事でも紹介しています。
「Advanced Custom Fieldsの全項目解説・公開側表示編集編 ・Advanced Custom Fieldsの入力値を取得する関数」
「WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法」
ちなみに、第 3引数に falseを指定すると結果が変化します。
1 2 3 |
echo "<b>【画像・オブジェクト2】</b><br>"; $s_image_object = get_field ( "s-image-object", false, false ); echo $s_image_object; |
上記のように画像のオブジェクトを取得できる場合でも「false」を設定することで画像 IDだけを取得することができます。
詳細は「Advanced Custom Fieldsの全項目解説・公開側表示編集編/フィールドタイプ・画像」を参照してみてください。
また、フィールドタイプがテキストエリア、WYSIWYGなどの自動処理がある項目に対しては、その自動編集処理を無効にすることもできます。
「Advanced Custom Fieldsの全項目解説・公開側表示編集編/フィールドタイプ・テキストエリア」を参照してみてください。
なお、第 3項目を指定したいけど、第 2項目は現在の PostIDを指定したくて空にしたままにしておきたい、という場合は、第 2項目は「false」を指定してください。
(「””」や「null」でも動くようではありますが、マニュアル上は「false」を指定するように、と書いてありますね。)
get_fields()
投稿画面から入力されたカスタムフィールドの値(valueの値)の全てを取得する関数です(ただし、「_」(アンダースコア)で始まるカスタムフィールドは除く)。
「get_field()」関数は、カスタムフィールドのフィールド名を指定して値を取得する関数でしたが、「get_fields()」関数は、全てのカスタムフィールドの値を一括して取得できます。
フィールドごとに一つ一つ取得するのが面倒なほどに項目が多い場合などは、「get_fields()」関数を使ってすべての値を取得した上で、各項目に編集していくという方法もいいのではないでしょうか。
1 2 3 4 5 6 7 8 9 10 11 |
// get_fields()の基本形 $field = get_fields ( $post_id ); print_r ( $field ); // get_fields()を利用して一気に項目を編集する方法 $field = get_fields (); if ( $field ) { foreach ( $field as $field_name => $value ) { echo "<div><b>" . $field_name . ":</b>" . $value . "</div>"; } } |
$post_id
「get_field()」関数と同じです。
取得する POST IDを指定します。必須項目ではなく、省略をすると現在表示中のページの POST IDが編集されたものとして処理されます。
投稿 IDだけではなく、オプション、タクソノミー、ユーザなども登録できます。
get_field_object()
フィールドグループで登録した情報も含めてカスタムフィールドの値を取得できます。
例えば「Advanced Custom Fieldsの全項目解説・公開側表示編集編/フィールドタイプ・セレクトボックス」でも掲載していますが、セレクトボックスの値を取得すると下記の様な値が取得できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
Array ( [key] => field_55e7ac94daaaa [label] => セレクトボックス・シングル [name] => s-select-single [_name] => s-select-single [type] => select [order_no] => 12 [instructions] => セレクトボックスを編集してください。 [required] => 0 [id] => acf-field-s-select-single [class] => select [conditional_logic] => Array ( [status] => 0 [rules] => Array ( [0] => Array ( [field] => field_55e7accbdaaaa [operator] => == [value] => red ) ) [allorany] => all ) [choices] => Array ( [red] => 赤 [blue] => 青 [green] => 緑 ) [default_value] => [allow_null] => 1 [multiple] => 0 [field_group] => 114 [value] => blue ) |
フィールドタイプ「テキスト」などではほとんど必要となる場面はありませんが、「選択肢」タイプで、「キー」と「値」が違う場合にはこの関数が必要となります。
また、Google Mapなどでデフォルトの地図の Zoomなどを取得したい場合にも利用できます。
1 2 |
// get_field_object()の基本形 $field = get_field_object ( $field_key, $post_id, $options ); |
$field_key
get_field()関数と同じく取得するカスタムフィールドの「フィールド名(name)」を編集するか、「key」を編集します。必須項目です。
$post_id
「get_field()」関数と同じように、取得する POST IDを指定します。必須項目ではありません。
$options
オプションを配列で設定します。
例えば、「array ( load_value => false )」などです。「load_value」のデフォルトは「true」です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// フィールド名を指定して取得する方法 $field = get_field_object ( "s-select-single" ); echo "<b>" . $field['label'] . "</b>:" . $field['value'] . "<br>"; // keyと PostIDを指定して値を取得する場合 $field = get_field_object ( "field_55e7ac94d49da", 115 ); echo "<b>" . $field['label'] . "</b>:" . $field['value'] . "<br>"; // 選択肢の項目を取得してセレクトボックスを編集する場合 $field = get_field_object ( "s-select-single" ); if ( $field ) { echo '<select name="' . $field['key'] . '">'; foreach ( $field['choices'] as $key => $val ) { echo '<option value="' . $key . '">' . $val . '</option>'; } echo '</select>'; } |
使い方に関しては「Advanced Custom Fieldsの全項目解説・公開側表示編集編/Advanced Custom Fieldsの入力値を取得する関数」にも記載をしています。
ちなみに、オフィシャルサイトには「$field_key」を指定する際、「key」と「name」のどちらを設定する方がいいのかの説明が書かれていますが、英語のマニュアルを読んでもイマイチ正確な意味が取れないため、ここに記載するのは止めにしました。
「name」より「key」を指定する方がよさそうだという雰囲気は分かりますが...
get_field_objects()
投稿画面から入力されたカスタムフィールドの値(valueの値)だけでなく、カスタムフィールドとして設定されている値も含めて全てを取得する関数です(ただし、「_」(アンダースコア)で始まるカスタムフィールドは除く)。
「get_field_object()」の全項目版が「get_field_objects()」です。
「get_field()」の全項目版が「get_fields()」であるのと同じ理解で OKです。
1 2 3 4 5 6 7 8 9 10 11 |
// get_field_objects()の基本形 $field = $fields = get_field_objects($post_id); print_r ( $field ); // get_field_objects()を利用して一気に項目を編集する方法 $field = get_field_objects (); if ( $field ) { foreach ( $field as $field_name => $value ) { echo "<div><b>" . $value['label'] . ":</b>" . $value['value'] . "</div>"; } } |
$post_id
「get_field()」関数と同じように、取得する POST IDを指定します。必須項目ではありません。
get_sub_field()
有料アドオンの「repeater field(繰り返しフィールド)」と「flexible content field(柔軟コンテンツフィールド)」で使われるサブフィールドの値を取得するために使用します。
これらのサブフィールドをループさせることで現在の行からサブフィールドの値を取得することができます。
1 2 |
// get_sub_field()の基本形 get_sub_field($sub_field_name); |
$sub_field_name
サブフィールドの名称を指定します。必須項目です。
get_sub_field_object()
「has_sub_field()」関数のループ内で取得されるサブフィールドのオブジェクトを取得する関数です。
「get_sub_field()」と「get_sub_field_object()」の関係は、「get_field()」と「get_field_object()」の関係と同じ感じです。
1 2 |
// get_sub_field_object()の基本形 get_sub_field_object($field_key); |
$field_key
「get_field()」関数と同じく取得するカスタムフィールドの「フィールド名(name)」を編集するか、「key」を編集します。必須項目です。
get_row_layout()
「the_flexible_field()」関数のループ内の現在のレイアウト(文字列)を返します。
「flexible content field」は、任意の順序でページ上に配置することができ、様々なレイアウトオプションを持つことができます。
この関数は引数を持ちません。
have_rows()
「have_rows()」関数は、「repeater field」や「flexible content field」が値を持っているか否かを判定します。
trueか falseを返す Boolean関数です。
この関数は「has_sub_fields()」関数の置き換えです。しかし、いくつか違いがあります。
その違いは、この関数では実行されないので、「the_row()」関数を使用する必要がある行で実行することです。
「have_rows()」関数と「the_rows()」関数の使用は、「have_posts()」関数と「the_posts()」関数の関係に合わせる意図を持っています。
※この関数は Ver.4.3.0で追加されました。
has_sub_field()
「has_sub_field()」関数は、「repeater field」や「flexible content field」の「while」ループ処理内で使用され、「get_sub_field()」「the_sub_field()」で利用する値を提供します。
※この関数は、「the_repeater_field()」関数と「the_flexible_field()」関数の代替品として、Ver.3.3.4で追加されされました。
1 |
has_sub_field($field_name, $post_id); |
$field_name
「repeater field」や「flexible content field」のループさせるフィールド名を指定します。必須項目です。
$post_id
「get_field()」関数と同じように、取得する POST IDを指定します。必須項目ではありません。
the_field()
Advanced Custom Fieldsで登録した入力フィールドの値を取得し、出力まで行う関数です。「echo get_field ( $field_name );」と同じ機能です。
1 |
the_field ( $field_name, $post_id ); |
$field_name
取得する入力フィールドの「フィールド名」を指定します。必須項目です。
$post_id
取得する POST IDを指定します。必須項目ではなく、省略をすると現在表示中のページの POST IDが編集されたものとして処理されます。
投稿 IDだけではなく、オプション、タクソノミー、ユーザなども登録できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 表示中の投稿の値を編集する場合 the_field ( "s-text" ); // PostID(投稿ID)を指定する場合 the_field ( "s-text", 123 ); // 条件分岐付きで処理する場合 if ( the_field ( "s-text" ) ) { echo "<p>"; the_field ( "text_field" ); echo "</p>"; } // カテゴリ一覧ページで値を取得する場合 the_field ( "s-text", "category_123" ); |
この関数は下記の記事でも紹介しています。
「Advanced Custom Fieldsの全項目解説・公開側表示編集編 ・Advanced Custom Fieldsの入力値を取得する関数」
「WordPressのカテゴリやタクソノミーにカスタムフィールド項目を追加する方法」
the_sub_field()
有料アドオンの「repeater field(繰り返しフィールド)」と「flexible content field(柔軟コンテンツフィールド)」で使われるサブフィールドの値を取得し、編集するために使用します。
これらのサブフィールドをループさせることで現在の行からサブフィールドの値を取得することができます。
「echo get_sub_field();」と同じ機能です。
1 |
the_sub_field($sub_field_name); |
$sub_field_name
サブフィールドの名称を指定します。必須項目です。
有料アドオンについては「カスタムフィールド決定版!Advanced Custom Fields全項目完全解説・管理画面編/Advanced Custom FieldsのAdd-Ons」も参考にしてみてください。
the_repeater_field()
「the_repeater_field()」関数は、Ver.3.3.4以降の使用は推奨されていません。
「have_rows()」関数を使ってください。
the_flexible_field()
「the_flexible_field()」関数は、廃止されました。将来削除される可能性があるため、「has_sub_field()」関数に置き換えてください。
Shortcode
投稿の編集画面(Wysiwyg編集画面)で、カスタムフィールドとして保存されている値をショートコードを利用して編集することもできます。
1 2 |
// ショートコードマーカーを指定します。 [acf field="field_name" post_id="123"] |
ショートコードマーカーは、「the_field()」関数と同じ動作をします。
指定できる引数は以下の通りです。
field
フィールド名を指定します。
post_id
編集する POST IDを指定します。必須項目ではなく、指定しない場合は現在の投稿の値が編集されます。
ショートコードの使い方については「WordPress投稿にPHPを記述するショートコードの使い方add_shortcode」にも記事を書いていますので参考にしてください。
update_field()
フィールドの値を更新するために使用します。
1 2 |
// get_sub_field_object()の基本形 update_field ( $field_key, $value, $post_id ); |
$field_key
更新する値のフィールド名を指定します。指定は「name」か「key」で指定します。必須項目です。
$value
更新する値を編集します。必須項目です。
$post_id
「get_field()」関数と同じように、更新する POST IDを指定します。必須項目ではありません。
1 2 3 4 5 6 7 8 9 10 |
// 更新前の情報を取得します。 $field = get_field ( "s-text" ); echo $field . "<br>"; // 情報を更新します。 update_field ( "s-text", "てきすぼっくすにゅうりょく2" ); // 更新後の情報を取得します。 $field = get_field ( "s-text" ); echo $field . "<br>"; |
「update_field()」関数は、見た目の値が更新されるのではなく、データベースの値が更新されます。
update_sub_field()
サブフィールドの値を更新するために使用します。
「have_rows()」関数のループ内で使用される場合は、現在の行のサブフィールドの値を更新します。
「have_rows()」関数のルールの外で使用する場合は、行と親の位置を指定して値を更新します。
1 2 |
// update_sub_field()の基本形 update_sub_field( $selector, $value, $post_id ); |
$selector
サブフィールド名、キー、または、行と親の位置を配列で指定します。必須項目です。
$value
更新する値を編集します。必須項目です。
$post_id
「get_field()」関数と同じように、更新する POST IDを指定します。必須項目ではありません。
acf_set_options_page_menu()
「acf_set_options_page_menu()」関数は、アドオンの「オプションページ」のメインオプションページメニュー項目を変更する際に組み合わせて使用する関数です。
この関数は、functions.php内で使用し、initアクションより前に実行する必要があります。
【警告】
更新プロセス中に、この機能は functions.phpファイルで使用することはできません。
Webサイトが壊されないようにするために、関数を実行する際には「function_exists()」関数で存在確認をする必要があります。
1 2 |
// acf_set_options_page_menu()の基本形 acf_set_options_page_menu( $menu_name ); |
$menu_name
親のオプションページのメニュー項目の名前を指定します。必須項目です。
1 2 3 4 |
// function_exists()関数で存在確認するサンプルソース if ( function_exists ( 'acf_set_options_page_menu' ) ) { acf_set_options_page_menu ( __( 'Extra' ) ); } |
acf_set_options_page_title()
「acf_set_options_page_title()」関数は、アドオンの「オプションページ」のメインオプションページタイトルを変更する際に組み合わせて使用する関数です。
この関数は、functions.php内で使用し、initアクションより前に実行する必要があります。
警告の内容は「acf_set_options_page_menu()」関数と同じです。
1 2 |
// acf_set_options_page_title()の基本形 acf_set_options_page_title( $menu_name ); |
$menu_name
親のオプションページのメニュー項目の名前を指定します。必須項目です。
1 2 3 4 |
// function_exists()関数で存在確認するサンプルソース if ( function_exists ( 'acf_set_options_page_title' ) ) { acf_set_options_page_title ( __( 'Extra' ) ); } |
acf_set_options_page_capability()
「acf_set_options_page_capability()」関数は、アドオンの「オプションページ」のメインオプションページタイトルの権限を変更する際に組み合わせて使用する関数です。
この関数は、functions.php内で使用し、initアクションより前に実行する必要があります。
「capability」はオプションページへのアクセスを許可するユーザの種類と権限を参照します。
「ユーザーの種類と権限」については下記を参照してください。
http://wpdocs.osdn.jp/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AE%E7%A8%AE%E9%A1%9E%E3%81%A8%E6%A8%A9%E9%99%90
警告の内容は「acf_set_options_page_menu()」関数と同じです。
1 2 |
// acf_set_options_page_title()の基本形 acf_set_options_page_capability( $capability ); |
$capability
親のオプションページのメニュー機能の名前を指定します。必須項目です。デフォルトは「edit_posts」です。
1 2 3 4 |
// function_exists()関数で存在確認するサンプルソース if ( function_exists ( 'acf_set_options_page_capability' ) ) { acf_set_options_page_capability( 'manage_options' ); } |
acf_add_options_page()
この機能は、管理画面のサイドバーに新しいオプションページを追加します。
オプションページで保存された全てのデータはグローバル変数になります。
これは、任意の特定の投稿、固定ページに付随しないことを意味しますが、wp_optionsテーブルに保存されます。
この関数は Advanced Custom Fields Pro 5.0.0以上が必要です。
この機能は、admin_menuアクション(優先度 99)より前に使用する必要があります。
1 2 |
// acf_add_options_page()の基本形 acf_add_options_page( $page ); |
$page
ページタイトル、または、設定の配列を指定します。
空白の場合はデフォルト設定が使用されます。
オプションページは、有料アドオンです。
有料アドオンについては「カスタムフィールド決定版!Advanced Custom Fields全項目完全解説・管理画面編/Advanced Custom FieldsのAdd-Ons」も参考にしてみてください。
acf_add_options_sub_page()
この機能は、アドオンの管理メニューに新しいサブページを追加するオプションページと組み合わせて使用します。
この機能は、functions.phpファイル内で使用するには initアクションの前に実行する必要があります。
警告として、「acf_set_options_page_menu()」関数と同じく、関数を実行する際には「function_exists()」関数で存在確認をする必要があります、と書かれています。
また、オプションページアドオンの Ver.1.1.0以上が必要です。
1 2 |
// acf_add_options_sub_page()の基本形 acf_add_options_sub_page($page); |
$page
下記の 2つの指定の方法があります。必須項目です。
サブページの名前(タイトル)を指定する方法
タイトル(必須)+メニュー、Slug、Parent、Capabilityを配列で指定する方法
・タイトル:サブページのタイトル
・メニュー:サブページメニュー名。タイトルのデフォルト。
・Slug:ページのスラグの名前。デフォルトのサニタイズタイトル。
・Parent:親のスラグを指定。デフォルトはオプションページのメインメニューのスラグ。
・Capability:ページ参照に必要な機能を提供します。デフォルトはオプションページのメインメニューの機能です。
acf_form()
この関数は、バージョンによって使用方法が異なります。この記事の内容は Ver.5の内容です。
この関数は、投稿を追加、更新するためのフォームを作成します。
このフォームをカスタマイズするための多くの設定方法があり、以下に説明するように「$options」配列を追加することにより設定することが出来ます。
1 2 |
// acf_form()の基本形 acf_form( $options ); |
$options
以下のオプションを 1つ以上配列で指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
$options = array( /* (文字列)フォームの IDを指定します。デフォルトは「acf-form」。 */ 'id' => 'acf-form', /* (数値/文字列)Post IDは、データをロードして保存します。デフォルトは、現在の PostIDです。 新しい投稿を作成する場合は「new_post」を指定することも出来ます */ 'post_id' => false, /* (配列)投稿を作成するために投稿データを配列として作成します。使用可能なパラメータは「wp_insert_post」を参照してください。 「post_id」の設定には「new_post」が指定されている必要があります。 */ 'new_post' => false, /* (配列)フィールドグループの ID/キーの配列は、このフォームに表示されるフィールドを上書きします。 */ 'field_groups' => false, /* (配列)フィールドの ID/キーの配列は、このフォームに表示されるフィールドを上書きします。 */ 'fields' => false, /* (Boolean)投稿タイトルのテキストフィールドを表示するか、否かを設定します。デフォルトは false。 */ 'post_title' => false, /* (Boolean)投稿コンテンツエディタのフィールドを表示するか、否かを設定します。デフォルトは false。 * 'post_content' => false, /* (Boolean)フォームの要素を作成するか、否かを設定します。現在あるフォームに項目を追加する場合に使用します。デフォルトは true。 */ 'form' => true, /* (配列)フォームの項目を配列、HTML属性で指定します。 */ 'form_attributes' => array(), /* (文字列)フォームを実行した後にリダイレクトする URLを指定します。デフォルトは現在の URLに GETパラメータで「?updated=true」が追加されたものです。 特別なプレイスホルダー「%post_url%」は、投稿のパーマリンクに変換されます。(新しい投稿を作る場合に便利です。) */ 'return' => '', /* (文字列)入力フィールドの前に接頭辞を追加します。 */ 'html_before_fields' => '', /* (文字列)入力フィールドの後ろに接尾辞を追加します。 */ 'html_after_fields' => '', /* (文字列)送信ボタンに表示するテキストを編集します。 */ 'submit_value' => __("Update", 'acf'), /* (文字列)リダイレクトされた際にフォームの上部に表示されるメッセージを設定します。メッセージを表示しない場合は falseを指定します。 */ 'updated_message' => __("Post updated", 'acf'), /* (文字列)フィールドラベルの場所を指定します。デフォルトは「Top」です。 選択肢は「top」(フィールドの上)か、「left」(フィールドの横)です。 */ 'label_placement' => 'top', /* (文字列)フィールドの説明の場所を指定します。デフォルトは「label」です。 選択肢は「label」(ラベルの下)か、「field」(フィールドの下)です。 */ 'instruction_placement' => 'label', /* (文字列)フィールドを囲む要素を指定します。デフォルトは「div」です。 選択肢は、「div」「tr」「td」「ul」「ol」「dl」です。 */ 'field_el' => 'div', /* (文字列)画像やファイルのアップロード形式を WP形式か、ベーシック形式かを指定します。デフォルトは、「WP形式」です。 選択肢は「wp」(WP形式)か、「basic」(ベーシック形式)です。Ver.5.2.4で追加されました */ 'uploader' => 'wp' ); |
この「acf_form()」関数は、データを入力するための入力フォームを作成しますが、データを保存するために必要なロジックは含まれていないことに注意が必要です。
このロジックは「acf_form_head()」関数という別の関数で処理されます。
フォームのデータを保存できるようにするには、HTMLが表示される前のページのテンプレートの上部に「acf_form_head()」関数を配置しておく必要があります。
acf_settings
このフックを使用することで、プラグインを通じて Advanced Custom Fieldsによって使用されるグローバル設定の配列を上書きすることが出来ます。
この関数は、Ver.3.5.4以上で利用できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
array( 'options_page' => array( 'capability' => 'edit_posts', // オプションページを表示する機能 'title' => __('Options','acf'), // タイトル/メニュー名('サイトオプション') 'pages' => array(), // サブページの配列 ('Header, Footer, Home, etc') ), 'activation_codes' => array( 'repeater' => '', // activation code for the repeater add-on (XXXX-XXXX-XXXX-XXXX) 'options_page' => '', // activation code for the options page add-on (XXXX-XXXX-XXXX-XXXX) 'flexible_content => '', // activation code for the flexible content add-on (XXXX-XXXX-XXXX-XXXX) 'gallery' => '', // activation code for the gallery add-on (XXXX-XXXX-XXXX-XXXX) ), ); |
使用例
1 2 3 4 5 6 7 8 9 10 11 12 |
function my_acf_settings( $options ) { // activate add-ons $options['activation_codes']['repeater'] = 'XXXX-XXXX-XXXX-XXXX'; $options['activation_codes']['options_page'] = 'XXXX-XXXX-XXXX-XXXX'; // set options page structure $options['options_page']['title'] = 'Global Options'; $options['options_page']['pages'] = array('Header', 'Footer'); return $options; } add_filter('acf_settings', 'my_acf_settings'); |
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
Advanced Custom Fields(ACF)のアドオン・ギャラリーの使い方解説
Advanced Custom Fieldsのアドオン・ギャラリーの解説記事。複数の画像を入力できる優れもので、画像のサイズ、容量などでの制限ができ、より厳密な管理が可能。
-
WordPressで WPtouchを入れたら「このウェブページにはリダイレクト ループが含まれています」と表示されてページが表示されなくなった
WPtouchを入れたら「このウェブページにはリダイレクト ループが含まれています」のエラーでページが表示されない。その解決法の解説です。
-
シンタックスハイライトの5システム比較のまとめ・WordPressでも使える
シンタックスハイライト5種の比較検討のまとめ記事。WordPressで使う目的だがプラグインの比較検討ではないのでどのサイトでも導入可能。
-
EWWW Image Optimizerで画像の圧縮でWordPressを高速化
ページ表示の高速化に使うEWWW Image Optimizerの紹介です。英語で書かれているために取っつきにくいですが設定は3カ所。画像の圧縮もワンクリック。超簡単!
-
WordPressで口コミサイト構築ならMulti Ratingがおススメ
口コミの評価点を投稿する機能に特化。評価点を複数設定することができ、投稿後の評価点を編集することができる数少ないプラグイン。日本語にも対応。おススメ。
-
カスタムタクソノミーをCustom Post Type UIで設定し編集する方法解説
カスタムタクソノミーを追加、管理するプラグインCustom Post Type UIの使い方の解説。プラグインの解説ではあるものの、カスタムタクソノミーの仕様の解説でもある。
-
ショートコードで簡単解決!WordPress固定ページにカテゴリ一覧を編集する方法
ショートコードを使って固定ページや投稿に特定のカテゴリ一覧を編集する処理を作りました。プラグインなしで30行くらいのソースコピペで実現できます!
-
SEO効果絶大!PVもアップするWordPressの高速化プラグイン元祖Lazy Load
Lazy Loadは、画像を最初にまとめて読み込むことで発生するスピードの遅延を防ぎ、必要な画像から順番に読み込むことでページの表示スピードを向上させるプラグインです。
-
Advanced Custom Fields(ACF)のアドオン・繰り返しフィールドの使い方解説
Advanced Custom Fieldsのアドオン・繰り返しフィールドについて解説。繰り返しフィールドは投稿者が入力フィールドを追加しながら情報を入力できるフィールドを提供。
-
highlight.jsの設定方法を解説。 Syntax Highlighterから乗換え、高速化にも最適
Crayon Syntax Highlighterの代替案としてhighlight.jsを試してみた。highlight.jsは設置簡単で軽量なシンタックスハイライト。デザインもCSS変更だけの簡単変更。