WordPressのブロックエディタは、初期状態がフルスクリーンモードです。
一度フルスクリーンモードを解除すればしばらくその状態を覚えてくれるのですが、ある程度時間が経つとまたフルスクリーンモードに戻ってしまいます。
毎回毎回、フルスクリーンモードを解除するのが面倒なのでそれを防ぐ方法をこの記事でまとめておきます。
プラグインを使ってフルスクリーンモードに戻るのを防ぐ
プラグインを使わずにカスタマイズする方法もありますが、ブロックエディタの仕様がコロコロかわるので、プラグインを使う方が管理の手間は省けます。
blockeditor-fullscreen-mode-controlの説明
デバイスを変更したり、ローカルブラウジングデータがクリアされたりすると、ブロックエディタの設定が失われることにうんざりしていませんか?次に、これはあなたのためのプラグインです!
ブロックエディタは、すべての設定を「localStorage」と呼ばれるものに保存します。これは、設定が携帯電話、タブレット、またはコンピュータ間で引き継がれないことを意味します。
これは、古いCookieとブラウザデータを定期的に消去すると、設定が失われる可能性があることも意味します(一部のブラウザは、設定された間隔でこれを自動的に実行します。たとえば、Safariがこれを実行することが知られています)。
プラグインは単にそれをアクティブにすることを要求し、それは他の相互作用なしであなたのエディタ設定を記憶します。
さらに、このアプローチを好む場合は、ユーザープロファイルを介してエディターの設定を変更することもできます。
以前は、プラグインはBlockeditor Fullscreen Mode Controlと呼ばれ、フルスクリーンモードのみを処理していましたが、
時間の経過とともに、他の要素のセッションやデバイス間で永続的なエディター設定を維持する必要がありました。
プラグインを使わずにfucntions.phpでカスタマイズ
プラグインで行っている方法と同じ内容をfunctions.phpに書くことでフルスクリーンモードを解除することができます。
やっていることは、jQueryで泥臭くやっているのであまりスマートな感じはありません。
jQuery版
<?php
function ghub_disable_editor_fullscreen_mode() {
if (is_admin()) {
$script = "jQuery( window ).load(function() { const isFullscreenMode = wp.data.select( 'core/edit-post' ).isFeatureActive( 'fullscreenMode' ); if ( isFullscreenMode ) { wp.data.dispatch( 'core/edit-post' ).toggleFeature( 'fullscreenMode' ); } });";
$script .= "jQuery( window ).load(function() { const isfixedToolbar = wp.data.select( 'core/edit-post' ).isFeatureActive( 'fixedToolbar' ); if ( isfixedToolbar ) { wp.data.dispatch( 'core/edit-post' ).toggleFeature( 'fixedToolbar' ); } }";
wp_add_inline_script( 'wp-blocks', $script );
}
}
add_action( 'enqueue_block_editor_assets', 'ghub_disable_editor_fullscreen_mode',9999 );
Vanilla JS版
<?php
add_action( 'enqueue_block_editor_assets', 'wpdd_disable_editor_fullscreen_by_default' );
/**
* Disable Fullscreen Gutenberg.
*/
function wpdd_disable_editor_fullscreen_by_default() {
$script = "window.onload = function() { const isFullscreenMode = wp.data.select( 'core/edit-post' ).isFeatureActive( 'fullscreenMode' ); if ( isFullscreenMode ) { wp.data.dispatch( 'core/edit-post' ).toggleFeature( 'fullscreenMode' ); } }";
wp_add_inline_script( 'wp-blocks', $script );
}
?>
まとめ
ブロックエディタは、日々進化しているので気に入ってた機能が変わってしまったり、使いにくくなってしまうことは避けられません。
そのようなストレスを感じた時は多くの場合プラグインで対応できますので、その場合は探してみてください。