web関連

【wordpress】Gutenbergの投稿の編集画面をカスタマイズ

2018/12/31

2018/12/28

/

【wordpress】Gutenbergの投稿の編集画面をカスタマイズ

ACFPluginの「画面に非表示」という項目で該当ページの編集画面の制御していたらPluginの方がまだ対応していないみたいで制御できなかったから直接テンプレートに書いた時の備忘録

投稿(post)の編集画面のカスタマイズ

不要な項目を削除していきます

function remove_post_support() {
	remove_post_type_support('post','title');           // タイトル
	// remove_post_type_support('post','editor');          // 本文
	remove_post_type_support('post','author');          // 作成者
	remove_post_type_support('post','thumbnail');       // アイキャッチ画像
	remove_post_type_support('post','excerpt');         // 抜粋
	remove_post_type_support('post','trackbacks');      // トラックバック
	remove_post_type_support('post','custom-fields');   // カスタムフィールド
	remove_post_type_support('post','tag');        // コメント
	remove_post_type_support('post','comments');        // コメント
	remove_post_type_support('post','revisions');       // リビジョン
	remove_post_type_support('post','page-attributes'); // 表示順
	remove_post_type_support('post','post-formats');    // 投稿フォーマット
	unregister_taxonomy_for_object_type( 'category', 'post' ); // カテゴリ
	unregister_taxonomy_for_object_type( 'post_tag', 'post' ); // タグ
}
add_action('init','remove_post_support');

本文を非表示にすると「Gutenberg」が使えなくなるので注意

カテゴリーとタグは「remove_post_type_support」で消せないので「unregister_taxonomy_for_object_type」で消す必要があるみたい

これで投稿の編集画面の表示非表示の制御ができる

 

おまけ「remove_meta_box()」がGutenbergでは効かない?

「remove_meta_box()」でも編集画面内の項目の非表示とかできたみたいだけどGutenbergでは効かなくなったみたい

↓Gutenbergを使わない従来のクラシックエディターを使っていれば効いた

function my_remove_meta_box() {
	remove_meta_box('postexcerpt','post','normal' );      // 抜粋
	remove_meta_box('trackbacksdiv','post','normal' );    // トラックバック
	remove_meta_box('slugdiv','post','normal');           // スラッグ
	remove_meta_box('postcustom','post','normal' );       // カスタムフィールド
	remove_meta_box('commentsdiv','post','normal' );      // コメント
	remove_meta_box('submitdiv','post','normal' );        // 公開
	remove_meta_box('categorydiv','post','normal');       // カテゴリー
	remove_meta_box('tagsdiv-post_tag','post','normal' ); // タグ
	remove_meta_box('commentstatusdiv','post','normal' ); // ディスカッション
	remove_meta_box('authordiv','post','normal' );        // 作成者
	remove_meta_box('revisionsdiv','post','normal' );     // リビジョン
	remove_meta_box('formatdiv','post','normal' );        // フォーマット
	remove_meta_box('pageparentdiv','post','normal' );    // 属性
}
add_action('admin_menu','my_remove_meta_box' );
ACFの設定画面で項目ごとに非表示をチェックしても消えなかったのは「remove_meta_box()」使ってたからかな?
 

ACFをバージョンアップしたら位置の「高(タイトルの後)」を設定しているカスタムフィールドが消えてしまう現象はなくなってた。
そのうち「画面に非表示」の部分もGutenbergに対応するだろうけど待ってられないから今回の作業に至った