2026年11月6日
2026年11月6日
WordPressのSiteオプションBlock Bindingを使う方法
はじめに
WordPressの開発者や管理者にとって、サイト全体で一貫性を持たせながらカスタムフィールドを効率的に管理することは重要です。SiteオプションとBlock Bindingを組み合わせることで、ブロックエディター内で直接これらの設定を行うことができます。
症状・背景
- <高度なカスタマイゼーションが必要>
- <サイトのグローバル設定を一元化したい>
- <管理者が簡単にSiteオプションにアクセスできる環境を作りたい>
手順・設定方法
ステップ1: Siteオプションの設定項目を定義する
# WordPressサイトの初期化フックを使用して、site_optionフィルタを通じて新たなオプションを追加します。
add_filter( 'site_option_' . $option_name, 'your_callback_function', 10, 2 );
ステップ2: Block Binding APIを使用してブロックと連携させる
// WordPressのカスタムブロック定義ファイルで、Block Binding APIを使用してSiteオプションを参照します。
register_block_type( 'your-block-name', array(
'attributes' => array(
'siteOptionValue' => array(
'type' => 'string',
'source' => 'site_option:' . $option_name,
'selector' => '.my-custom-selector',
),
),
) );
ステップ3: Siteオプションを更新するためのフロントエンド用スクリプトを作成
// カスタムJavaScriptファイルでSiteオプションを更新するためのAJAXリクエストを作成します。
wp.ajax.post( 'update_site_option', { option_name: 'your_option_name', value: 'new_value' } );
ステップ4: 更新されたSiteオプションを使用したブロック表示の再読み込み
// WordPressの管理画面で、更新されたSiteオプションに基づいてブロックを再読み込みします。
wp.data.dispatch( 'core/edit-site' ).refreshOptions();
注意事項
- <実践的な注意点1>: カスタムフィールドとSiteオプションの間でのコンフリクトに注意してください。
- <実践的な注意点2>: Siteオプションを使用する前に、他のプラグインやテーマとの互換性を確認します。
- <セキュリティ上の注意>: 特権を持つユーザーのみがアクセスできるように、Siteオプションの更新機能は適切に制御してください。
- <パフォーマンス/運用上の注意>: サイト全体で頻繁に参照される設定はSiteオプションに保存し、その他のカスタムフィールドは必要最小限に抑えましょう。
まとめ
1. <キー1>: Siteオプションを使用することで、サイト全体での一貫性を維持できます。
2. <キー2>: Block Binding APIによって、ブロックエディタ内で直接Siteオプションにアクセス可能になります。
3. <キー3>: カスタムJavaScriptを使用すれば、動的なコンテンツ更新も可能です。
4. <キー4>: 安全なデータ管理のために適切なアクセスコントロールを設けましょう。
5. <キー5>: パフォーマンス最適化の観点から、頻繁に参照される項目はSiteオプションで管理します。
関連記事: