options-page-admin-for-acf

ACFオプションページ管理者| ジョンA.ヒューブナーII

説明

***追加された新機能:カスタム投稿IDスラッグ***

これは、Advanced Custom Fields(ACF)5 + Options Page Add On(またはACF Pro)用のアドオンプラグインです。
このプラグインは、ACF 5とオプションページアドオン(またはACF5 Pro)
がインストールされていない限り、機能を提供しません。

このプラグインは、ACF
オプションページのすべてのオプションを含む、ACFにオプションページを追加するための管理インターフェイスを提供します。メニューの場所、機能、
フィールド値の保存先など、ほとんどのオプションを選択できます

詳細については、
その他の注意事項スクリーンショットを参照してください。

Githubリポジトリ

このプラグインはGitHubhttps ://github.com/Hube2/acf-options-page-adderにもあり
ます

変更機能

オプションページの設定を追加/編集するために必要な機能は「manage_options」です。この機能は、フィルターを追加することで変更できます。

add_filter('acf-options-page-adder/capability', 'my_acf_options_page_adder_cap');
function my_acf_options_page_adder_cap($cap) {
  $cap = 'edit_published_posts';
  return $cap;
}

オプションページの投稿に値を保存する

ACF v5.2.7では、オプションページのフィールドを投稿IDに保存する機能が追加されました。このプラグインを使用すると、このプラグインを使用してオプションページを追加するときに作成された投稿と同じ投稿IDにオプションを保存できます。オプションページ自体のフィールドを取得することを心配することなく、get_fields($ options_page_id)を使用することもできます。どうして?オプションページの作成に使用されるすべてのフィールドはアンダースコア_で始まり、get_fields()によって返されるわけではないためです。注意する必要がある唯一のことは、このプラグインで使用されるフィールド名を使用しないことですこれらはすべてacfopで始まるため、非常に簡単です

カスタム投稿IDスラッグを使用した値の保存

オプションページの値を保存するためにカスタムスラッグを使用することが可能です。たとえば、オプションページの値をユーザーに保存する場合は、opitonsページの$ post_id値として「user_1」を指定できます。これには別の副作用もあります。通常、ACFがオプションテーブルの「options」に値を保存すると、「options_」プレフィックスが付いたフィールドが見つかります。したがって、たとえば、フィールド名が「my_field」の場合、オプションテーブルでオプション名として「options_my_field」が見つかります。このためのカスタムスラッグを指定できます。たとえば、オプションページの投稿ID設定を「my-custom-slug」に設定したとします。これにより、オプションページの同じフィールドに「my-custom-slug_my_field」という名前が付けられます。

オプションページの投稿IDを取得する


オプションページから値を取得するために使用する正しいACF $ post_id値を取得するために、関数とフィルターを使用できます。この関数/フィルターは、optionsに保存されているオプションページの「options」を
返すか、オプションが投稿に保存されている場合は正しい投稿IDを返します。
オプションページの「menu_slug」値に基づいて、正しいIDが返されます。

/ example 1: function get_options_page_id()

// get the post_id of an options page
$post_id = get_options_page_id('my_options_page_slug');
// get a value using $post_id
$value = get_field('my_option_field', $post_id);

// or it can be combined like this
$value = get_field('my_option_field', get_options_page_id('my_options_page_slug'));



// example 2: by filter
$default = 'option',
$slug = 'my_options_page_slug';
$post_id = apply_filters('get_option_page_id_filter', $default, $slug);
$value = get_field('my_option_field', $post_id);

// or it can be combined like this
$value = get_field('my_option_field', apply_filters('get_option_page_id_filter', $default, $slug));

間違った投稿IDを取得する条件があります。この条件は、最初のサブオプションページにリダイレクトするように設定されたトップレベルのリダイレクトページを持つことによって作成されます。サブオプションページが存在しない場合は、トップレベルオプションページの値が返されます。後でサブオプションページを作成すると、サブオプションページから新しい値が返されます。これが、リダイレクトのデフォルト値がfalseになっている理由です。トップレベルページをリダイレクトする場合は、サブオプションページを作成していないと、後で問題が発生する可能性があることに注意する必要があります。また、サブオプションページの順序を具体的に設定して、将来のある時点でこれらが変更されないようにする必要があります。これは、既存のトップレベルページと同じ順序で新しいオプションページを追加すると、保存と取得の場所が新しいオプションに変更されるためです。ページ。これについて私ができることに注意してください、それはそれが機能する方法です。オプションではなく投稿に保存するようにACFオプションページを設定する場合は、オプションページの引数をより正確に指定する必要があります。

Font Awesome Support

このプラグインは、サイトの管理者にFontAwswsomeをエンキューまたは含めないことに注意してください。
管理者にFontAwsomeを含めると、
トップレベルのオプションページのアイコンにFont AwesomeIconsを使用できます。たとえば、アドレス帳アイコンを使用する場合fa fa-address-book
、オプションページを追加または編集するときに[アイコン]フィールドに追加するだけです。

フィルタオプションページヘッダー/フッター/コンテンツ

このプラグインのバージョン3.8.0では、ヘッダーとフッターのコンテンツを追加して、ACFオプションページをカスタマイズする機能が追加されました。オプションページの管理エディターに追加されたWYSIWYGフィールドに加えて、フィルターを使用してこれらのセクションまたはオプションページ全体をカスタマイズすることもできます。

このプラグインのバージョン3.8.2は、この機能を有効にするためのトグルを追加します。この機能により、
多数のフィールドがあるオプションページメモリ不足の致命的なエラーが発生する可能性があります。トグルをオンにする前にコンテンツがこのフィールドに入力された場合、トグルは自動的にオンになります。それ以外の場合、このオプションのデフォルトはオフになります。

ヘッダーコンテンツ

add_filter('acf-options-page-adder/page-header', 'my_custom_options_page_header', 10, 2);

function my_custom_options_page_header($content, $hook) {
  // $content = content, by default it is '' or the value of the WYSIWYG editor
    // $hook = the current options page hook that is being called
    $content = '<p>My Custom Header Content</p>';
    return $content;
}

フッターコンテンツ

add_filter('acf-options-page-adder/page-footer', 'my_custom_options_page_footer', 10, 2);

function my_custom_options_page_footer($content, $hook) {
  // $content = content, by default it is '' or the value of the WYSIWYG editor
    // $hook = the current options page hook that is being called
    $content = '<p>My Custom Footer Content</p>';
    return $content;
}

オプションページ全体をフィルタリング

add_filter('acf-options-page-adder/page-content', 'my_custom_options_page_filter', 10, 2);

function my_custom_options_page_filter($content, $hook) {
  // $content = entire content or options page, including all ACF fields
    // $hook = the current options page hook that is being called
    // caution should be taken when making modification to the page content
    return $content;
}

ナグを削除します

一部の管理ページに表示される私の小さなナグを削除したい場合は、functions.phpファイルに以下を追加してください

add_filter('remove_hube2_nag', '__return_true');

インストール

  1. プラグインフォルダー内のacf-options-page-adderという名前のフォルダーにファイルを抽出します(通常は/ wp-content / plugins / options-page-admin-for-acf /)
  2. ファイルをアップロードする
  3. プラグインページからアクティブ化します

プラグインの作者

ジョンA.ヒューブナーII

プラグインの公式ウェブサイトアドレス

https://wordpress.org/plugins/options-page-admin-for-acf/
ACFオプションページ管理プラグインの使用で問題が発生した場合は、以下にコメントしてください。問題の解決に最善を尽くします

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です