「画像」ブロックのリンク設定を変更する方法

Cocoonカスタマイズ集
この記事は約3分で読めます。
記事内に広告が含まれています。

はじめに

Gutenbergエディター

Gutenbergエディターで「画像」ブロックを配置時に、毎回「リンク先」や「新しいタブで開く」などの設定を手動で変更するのは手間がかかります(図1参照)。
そこで、画像ブロックを配置時のデフォルト設定を変更します。
この記事では、この方法について説明します。

実装手順

「画像ファイルへのリンク」に変更する場合

以下のコードをfunctions.phpに追加します。

add_filter('register_block_type_args', function ($args, $name) {
  if ($name !== 'core/image') {
    return $args;
  }

  // 画像ファイルへのリンク
  $args['attributes']['linkDestination']['default'] = 'media';

  // 新しいタブで開く
  $args['attributes']['linkTarget']['default'] = '_blank';

  return $args;
}, 10, 2);

「添付ファイルページへのリンク」に変更する場合

以下のコードをfunctions.phpに追加します。

add_filter('register_block_type_args', function ($args, $name) {
  if ($name !== 'core/image') {
    return $args;
  }

  // 添付ファイルページへのリンク
  $args['attributes']['linkDestination']['default'] = 'attachment';

  // 新しいタブで開く
  $args['attributes']['linkTarget']['default'] = '_blank';

  return $args;
}, 10, 2);

「クリックで拡大」に変更する場合

以下のコードをfunctions.phpに追加します。

add_filter('wp_theme_json_data_theme', function ($theme_json) {
  $new_data = [
    'version'  => 3,
    'settings' => [
      'blocks' => [
        'core/image' => [
          'lightbox' => [
            'enabled'      => true,
            'allowEditing' => true,
          ],
        ],
      ],
    ],
  ];

  return $theme_json->update_with($new_data);
});

以下で紹介したコードは、ページを表示する際にリアルタイムで処理を実行します。
そのため、エディター上での設定の有無に関わらず、過去に投稿した画像も対象となります。

さいごに

今回紹介した方法を使えば、画像ブロックの面倒な初期設定を自動化し、日々の投稿作業をよりスムーズに進めることができます。
サイトの利便性を高めるカスタマイズとしてぜひ活用してください。

タイトルとURLをコピーしました