register_block_core_categories()


WordPressのregister_block_core_categories()関数は、ブロックエディタで使用されるデフォルトのカテゴリーを登録するための関数です。

構文

register_block_core_categories();

例1: 基本的な使用法

ブロックエディタにデフォルトのカテゴリーを登録します。

add_action( 'init', 'register_block_core_categories' );

例2: カスタムブロックカテゴリーの追加

デフォルトカテゴリーに加えて新しいカテゴリーを追加します。

function add_custom_block_category( $categories ) { return array_merge( $categories, [ [ 'slug' => 'custom', 'title' => 'カスタムブロック' ] ] ); } add_filter( 'block_categories_all', 'add_custom_block_category' );

例3: デフォルトカテゴリーの削除

特定のデフォルトカテゴリーを削除します。

function remove_default_block_categories( $categories ) { return array_filter( $categories, function( $category ) { return $category['slug'] !== 'text'; } ); } add_filter( 'block_categories_all', 'remove_default_block_categories' );

例4: カテゴリーの順序変更

ブロックカテゴリーの表示順序を変更します。

function reorder_block_categories( $categories ) { usort( $categories, function( $a, $b ) { return strcmp( $a['title'], $b['title'] ); } ); return $categories; } add_filter( 'block_categories_all', 'reorder_block_categories' );

例5: 条件付きカテゴリー登録

特定の条件下でのみカテゴリーを登録します。

if ( is_admin() ) { add_action( 'init', 'register_block_core_categories' ); }

例6: 複数カテゴリーの一括登録

複数のカスタムカテゴリーを一度に追加します。

function add_multiple_block_categories( $categories ) { return array_merge( $categories, [ [ 'slug' => 'section', 'title' => 'セクションブロック' ], [ 'slug' => 'layout', 'title' => 'レイアウトブロック' ] ] ); } add_filter( 'block_categories_all', 'add_multiple_block_categories' );

例7: カテゴリーのアイコン設定

カスタムブロックカテゴリーにアイコンを設定します。

function add_block_category_with_icon( $categories ) { return array_merge( $categories, [ [ 'slug' => 'media', 'title' => 'メディア', 'icon' => 'admin-media' ] ] ); } add_filter( 'block_categories_all', 'add_block_category_with_icon' );

注意点

  • この関数はプラグインやテーマのinitフックで使用する必要があります
  • WordPress 5.8以降ではblock_categories_allフィルターを使用します
  • カテゴリーのスラッグはユニークである必要があります

関連機能: