registerFormatType

書式ツールバーに情報を登録する

import { registerFormatType } from '@wordpress/rich-text';

const testFn = ({isActive, onChange, value}) => {
    return (
        <>
            <div>ここにJSXの処理を記載</div>
        </>
    )
}

registerFormatType('systech/test', {
    title: 'テスト',
    tagName: 'span',
    className: 'u-test',
    attributes: {
        style: 'style'
    },
    edit: testFn
});
  • 第一引数:一意の識別子
  • 第二引数:オブジェクト
    title:UI上には表示されるず、おそらく内部で使用される
    tagName:選択要素を囲うタグ
    className:tagNameに付与するクラス名(classNameを指定しないとWordPressが判断できずエラーを出力する
    attributes:タグに直接スタイルやデータなどを挿入したいときに使う
    edit:JSXの処理を記載

editに渡されるpropsで主に使うものは以下のとおり。

  • isActive:現在の状態をbooleanで管理
  • onChange:valueを更新する際に利用
  • value:現在の値

情報が正しく登録されているかは、以下で確認できる

console.log(wp.data.select( 'core/rich-text' ).getFormatTypes());

外部リンク

ドキュメント