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オプションで管理します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲