Advanced Custom Fielts をインストールし、email、phoneなどのカスタムフィールドを作成しました。これらのフィールドをfooter.phpに入れて、データはホームページにのみ表示されます。 ACFを使用してグローバル変数を作成できますか?そのカスタムフィールドに対する私のルールは'If Post Type is equal to post';
です
このようなデータをfooter.phpに入れます
$phone_number = get_field('phone_number');
そしてImはそれを好きなように表示する
<?php echo $phone_number; ?>
つまり、基本的に私のホームページでImを使っても正しく表示されます。他のページ(同じフッターを使っているページ)に行ってもデータは表示されません。すべてのページに表示するにはどうすればいいですか。
ACFオプションページ pluginも使用する必要があります。
オプションページ機能は、追加の管理ページを追加する一連の機能を提供し、オプションページに保存されるすべてのデータは global です。
Sea the plugin 概要
プラグインをインストールした後、あなたはfunctions.php
に以下を追加しなければなりません
if( function_exists('acf_add_options_page') ) {
acf_add_options_page();
}
管理領域に "Options"ラベルが表示されます。
それなら'If Options Page is equal to Options'
のような規則でacfフィールドを作成するだけです。
最後にフィールドを表示します。
echo get_field('phone_number', 'option');
他のユーザーがグローバルオプションの作成について言及しているように、 ACFオプションページ add-onまたは ACF PRO が必要です。これにより、Niceオプションページを作成して標準的な方法でフィールドを再検索することができます。
$phone_number = get_field( 'phone_number', 'option' );
ただし、すべてのページで自分のフィールドを再検索するために使用できるトリックがあります。
あなたのオプションがホームページでのみ機能している場合、私はあなたがあなたのホームページ管理ページでカスタムフィールドを作成したと思います。他のページのこのフィールドを再検索するには、2番目の引数としてあなたのホームページIDを渡します。
$homepage_id = get_option('page_on_front');
$phone_number = get_field( 'phone_number', $homepage_id );
これは、フィールド値をpost_meta値として設定しているからです。
達成しようとしていることを達成するには、オプションページを作成する必要があります。参照してください: https://www.advancedcustomfields.com/resources/options-page/
それはあなたがグローバルにデータを表示することを可能にするでしょう。