get_allowed_block_template_part_areas()


WordPressのget_allowed_block_template_part_areas()関数は、ブロックテンプレートパーツで使用可能なエリアのリストを取得するために使用されます。この関数は、テーマ開発者がテンプレートパーツのエリアを制御する際に役立ちます。

構文

get_allowed_block_template_part_areas();

例1: 許可されたテンプレートパーツエリアの取得

この例では、許可されたテンプレートパーツエリアのリストを取得し、配列として返します。

$allowed_areas = get_allowed_block_template_part_areas();

例2: テンプレートパーツエリアの表示

許可されたテンプレートパーツエリアをループして表示します。

foreach (get_allowed_block_template_part_areas() as $area) { echo esc_html($area['label']) . '<br>'; }

例3: 特定のエリアが許可されているか確認

特定のテンプレートパーツエリアが許可されているかどうかを確認します。

$allowed_areas = get_allowed_block_template_part_areas(); if (in_array('header', array_column($allowed_areas, 'area'))) { echo 'ヘッダーエリアは許可されています。'; }

例4: カスタムテンプレートパーツエリアの追加

カスタムテンプレートパーツエリアを許可されたエリアリストに追加します。

add_filter('allowed_block_template_part_areas', function($areas) { $areas[] = array('area' => 'custom', 'label' => 'カスタムエリア'); return $areas; });

例5: テンプレートパーツエリアのラベルを変更

許可されたテンプレートパーツエリアのラベルを変更します。

add_filter('allowed_block_template_part_areas', function($areas) { foreach ($areas as &$area) { if ($area['area'] === 'header') { $area['label'] = 'カスタムヘッダー'; } } return $areas; });

例6: テンプレートパーツエリアのフィルタリング

特定の条件に基づいてテンプレートパーツエリアをフィルタリングします。

add_filter('allowed_block_template_part_areas', function($areas) { return array_filter($areas, function($area) { return $area['area'] !== 'footer'; }); });

例7: テンプレートパーツエリアのカスタムチェック

ユーザーロールに基づいてテンプレートパーツエリアを制限します。

add_filter('allowed_block_template_part_areas', function($areas) { if (!current_user_can('edit_theme_options')) { return array_filter($areas, function($area) { return $area['area'] !== 'header'; }); } return $areas; });

注意点

  • この関数は、テーマやプラグインの開発中に使用されることを想定しています。
  • テンプレートパーツエリアの変更は、テーマの互換性に影響を与える可能性があります。

関連機能: