WordPressユーザーのためのPHP入門 はじめから、ていねいに。第4版 p242~(第3版 p229~) で解説しているように、グーテンベルクではブロックを初期配置することができます。 この機能を使って、クラシックエディタを初期配置してみます。
クラシックブロックを初期配置するコード
グーテンベルクにはクラシックブロックがあります。(WordPress4.9までのエディタをクラシックエディタと呼びます。)これを初期配置してみます。
function php4wordpress_template() {
$post_type_object = get_post_type_object( 'post' );
$post_type_object->template = [
[ 'core/freeform' ],
];
}
add_action( 'init', 'php4wordpress_template' );
ブロック一覧にあるように、クラシックブロックはcore/freeformなので、クラシックブロックを新規投稿時に配置済みにしておきます。
ブロックの追加・削除を制限する
ブロックは初期配置するだけでなく、追加・削除を制限することが出来ます。
$post_type_object->template_lock = "all";
と記述すれば、ブロック追加・並べ替えを不可に設定できます。
また、
$post_type_object->template_lock = "insert";
と記述すれば、ブロック追加は許可しないが、並べ替えは許可します。
クラシックエディタを初期配置し、ブロックの追加・削除・並べ替えを不可にするコード例
function php4wordpress_template() {
$post_type_object = get_post_type_object( 'post' );
$post_type_object->template = [
[ 'core/freeform' ],
];
$post_type_object->template_lock = "all";
}
add_action( 'init', 'php4wordpress_template' );
このように設定しておくと、グーテンベルクで実質的にクラシックエディタのみ使用可能、にできます。
更新日: