Snow Monkey Editor v1.0.0 から、ブロックの拡張機能はコアブロックと Snow Monkey Blocks だけに適用されるようになりました

Snow Monkey Editor の拡張機能(表示設定、編集ロック設定等のインスペクターに追加される機能)は v1.0.0 からコアブロックと Snow Monkey Blocks のブロックにだけ追加されるように変更しました。

サードパーティー製のブロックプラグインと相性がわるい場合もあるため変更をいれました。もしサードパーティー製のブロックプラグインにも拡張機能を追加したい場合は、下記を参考にコードを追加してください。

PHP で追加する場合

add_action(
	'admin_enqueue_scripts',
	function() {
		$data = "wp.hooks.addFilter(
			'SnowMonkeyEditor.extension.allowedNameSpaces',
			'任意の名前',
			( allowedNameSpaces ) => {
				return [
					...allowedNameSpaces,
					'ブロックのネームスペース1',
					'ブロックのネームスペース2',
				];
			}
		);";
		wp_add_inline_script(
			'wp-hooks',
			$data
		);
	}
);

任意の名前の部分は、コードをテーマに追加するのであれば テーマ名/apply-snow-monkey-editor-extensions、My Snow Monkey プラグインに追加するのであれば my-snow-monkey/apply-snow-monkey-editor-extensions のような感じが良いかなと思います。

ブロックのネームスペース1ブロックのネームスペース2の部分は拡張機能を追加したいブロックのネームスペース部分を列挙してください。例えば CoBlocksAdvanced Gutenberg に拡張機能を追加したい場合であれば 'coblocks', 'advgb' と書き換える形になります。ネームスペースは、公式プラグインであればプラグインのページの下の方に書いてあるので確認してみてください。

Advanced Gutenberg の場合

JavaScript で追加する場合

import { addFilter } from '@wordpress/hooks';

addFilter(
  'SnowMonkeyEditor.extension.allowedNameSpaces',
  '任意の名前',
  ( allowedNameSpaces ) => {
    return [
      ...allowedNameSpaces,
      'ブロックのネームスペース1',
      'ブロックのネームスペース2',
    ];
  }
);

書き換える部分は PHP の場合と同じです。JavaScript の場合はビルドして wp-hooks ライブラリのあとに読み込むようにするという手順が必要で、上級者向けになります。よくわからないという方は PHP 版のコードを追加することをおすすめします。

この記事を書いた人

キタジマ タカシ

長崎県長崎市在住。地元のWeb制作会社でWebデザイナー/エンジニアとして従事した後、2015年にフリーランス [ モンキーレンチ ] として独立。WordPress のテーマやプラグイン、ライブラリ、CSS フレームワーク等、多数のプロダクトをオープンソースで開発・公開しています。

Snow Monkey オンラインコミュニティ

Snow Monkey をより良いテーマにするために、今後の機能開発等について情報共有したりディスカッションをしたりする場所です。より多くのユーザーの交流があったほうがより良いプロダクトに育っていくと思いますので、ぜひご参加ください!