Wordpress Gutebergのフルスクリーンモードを恒久的に常時OFFにする方法

下記のコードをテーマのfunctions.phpに記載しておけば、フルスクリーンモードをずっと停止しておけます。
・・・テーマごとではなく、設定でできるようにしてほしいですね。

if (is_admin()) {
function jba_disable_editor_fullscreen_by_default() {
$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' ); } });";
wp_add_inline_script( 'wp-blocks', $script );
}
add_action( 'enqueue_block_editor_assets', 'jba_disable_editor_fullscreen_by_default' );
}

【Wordpress5.8 Gutenberg エラー不具合】「このブロックでエラーが発生したため、プレビューできません」

Gutebergでこんなエラーが起きたらSnowMonkeyプラグインをいったんOFFしてみよう
Gutebergでこんなエラーが起きたらSnowMonkeyプラグインをいったんOFFしてみよう

「このブロックでエラーが発生したため、プレビューできません」
このエラーが当方の環境で起きたので、プラグインのON/OFFで解消しないか調べてみると、
「SnowMonkeyプラグイン」をオフすると解消する模様。

このエラーが起きている時のchromeのコンソールに出力されたエラーは以下のようなもの。
react-dom.min.js?が原因?

react-dom.min.js?ver=16.13.1:125 TypeError: Object(...) is not a function
at edit (editor.js?ver=1622014023:1)
at we (react-dom.min.js?ver=16.13.1:84)
at zj (react-dom.min.js?ver=16.13.1:226)
at Th (react-dom.min.js?ver=16.13.1:152)
at tj (react-dom.min.js?ver=16.13.1:152)
at Te (react-dom.min.js?ver=16.13.1:146)
at react-dom.min.js?ver=16.13.1:61
at unstable_runWithPriority (react.min.js?ver=16.13.1:25)
at Da (react-dom.min.js?ver=16.13.1:60)
at Pg (react-dom.min.js?ver=16.13.1:61)
Me @ react-dom.min.js?ver=16.13.1:125
Jh.f.componentDidCatch.c.callback @ react-dom.min.js?ver=16.13.1:139
Wg @ react-dom.min.js?ver=16.13.1:67
oj @ react-dom.min.js?ver=16.13.1:127
Aj @ react-dom.min.js?ver=16.13.1:160
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
ab @ react-dom.min.js?ver=16.13.1:154
Te @ react-dom.min.js?ver=16.13.1:146
(anonymous) @ react-dom.min.js?ver=16.13.1:61
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
Pg @ react-dom.min.js?ver=16.13.1:61
ha @ react-dom.min.js?ver=16.13.1:60
Ja @ react-dom.min.js?ver=16.13.1:224
ch @ react-dom.min.js?ver=16.13.1:93
e @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
t @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
b @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ redux-routine.min.js?ver=7f20dbcdb5d5645c977063e356eb95cf:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ block-editor.min.js?ver=390a9f83b606a55e8b523c4d16bdb08c:12
l @ rich-text.min.js?ver=a4eb1e306ca234461cdecbca651dd8d9:2
react-dom.min.js?ver=16.13.1:125 TypeError: Object(...) is not a function
at edit (editor.js?ver=1622014023:1)
at we (react-dom.min.js?ver=16.13.1:84)
at zj (react-dom.min.js?ver=16.13.1:226)
at Th (react-dom.min.js?ver=16.13.1:152)
at tj (react-dom.min.js?ver=16.13.1:152)
at Te (react-dom.min.js?ver=16.13.1:146)
at react-dom.min.js?ver=16.13.1:61
at unstable_runWithPriority (react.min.js?ver=16.13.1:25)
at Da (react-dom.min.js?ver=16.13.1:60)
at Pg (react-dom.min.js?ver=16.13.1:61)
Me @ react-dom.min.js?ver=16.13.1:125
Jh.f.componentDidCatch.c.callback @ react-dom.min.js?ver=16.13.1:139
Wg @ react-dom.min.js?ver=16.13.1:67
oj @ react-dom.min.js?ver=16.13.1:127
Aj @ react-dom.min.js?ver=16.13.1:160
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
ab @ react-dom.min.js?ver=16.13.1:154
Te @ react-dom.min.js?ver=16.13.1:146
(anonymous) @ react-dom.min.js?ver=16.13.1:61
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
Pg @ react-dom.min.js?ver=16.13.1:61
ha @ react-dom.min.js?ver=16.13.1:60
Ja @ react-dom.min.js?ver=16.13.1:224
ch @ react-dom.min.js?ver=16.13.1:93
e @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
t @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
b @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ redux-routine.min.js?ver=7f20dbcdb5d5645c977063e356eb95cf:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ block-editor.min.js?ver=390a9f83b606a55e8b523c4d16bdb08c:12
l @ rich-text.min.js?ver=a4eb1e306ca234461cdecbca651dd8d9:2
react-dom.min.js?ver=16.13.1:125 TypeError: Object(...) is not a function
at edit (editor.js?ver=1622014023:1)
at we (react-dom.min.js?ver=16.13.1:84)
at zj (react-dom.min.js?ver=16.13.1:226)
at Th (react-dom.min.js?ver=16.13.1:152)
at tj (react-dom.min.js?ver=16.13.1:152)
at Te (react-dom.min.js?ver=16.13.1:146)
at react-dom.min.js?ver=16.13.1:61
at unstable_runWithPriority (react.min.js?ver=16.13.1:25)
at Da (react-dom.min.js?ver=16.13.1:60)
at Pg (react-dom.min.js?ver=16.13.1:61)
Me @ react-dom.min.js?ver=16.13.1:125
Jh.f.componentDidCatch.c.callback @ react-dom.min.js?ver=16.13.1:139
Wg @ react-dom.min.js?ver=16.13.1:67
oj @ react-dom.min.js?ver=16.13.1:127
Aj @ react-dom.min.js?ver=16.13.1:160
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
ab @ react-dom.min.js?ver=16.13.1:154
Te @ react-dom.min.js?ver=16.13.1:146
(anonymous) @ react-dom.min.js?ver=16.13.1:61
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
Pg @ react-dom.min.js?ver=16.13.1:61
ha @ react-dom.min.js?ver=16.13.1:60
Ja @ react-dom.min.js?ver=16.13.1:224
ch @ react-dom.min.js?ver=16.13.1:93
e @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
t @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
b @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ redux-routine.min.js?ver=7f20dbcdb5d5645c977063e356eb95cf:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ block-editor.min.js?ver=390a9f83b606a55e8b523c4d16bdb08c:12
l @ rich-text.min.js?ver=a4eb1e306ca234461cdecbca651dd8d9:2
react-dom.min.js?ver=16.13.1:125 TypeError: Object(...) is not a function
at edit (editor.js?ver=1622014023:1)
at we (react-dom.min.js?ver=16.13.1:84)
at zj (react-dom.min.js?ver=16.13.1:226)
at Th (react-dom.min.js?ver=16.13.1:152)
at tj (react-dom.min.js?ver=16.13.1:152)
at Te (react-dom.min.js?ver=16.13.1:146)
at react-dom.min.js?ver=16.13.1:61
at unstable_runWithPriority (react.min.js?ver=16.13.1:25)
at Da (react-dom.min.js?ver=16.13.1:60)
at Pg (react-dom.min.js?ver=16.13.1:61)
Me @ react-dom.min.js?ver=16.13.1:125
Jh.f.componentDidCatch.c.callback @ react-dom.min.js?ver=16.13.1:139
Wg @ react-dom.min.js?ver=16.13.1:67
oj @ react-dom.min.js?ver=16.13.1:127
Aj @ react-dom.min.js?ver=16.13.1:160
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
ab @ react-dom.min.js?ver=16.13.1:154
Te @ react-dom.min.js?ver=16.13.1:146
(anonymous) @ react-dom.min.js?ver=16.13.1:61
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
Pg @ react-dom.min.js?ver=16.13.1:61
ha @ react-dom.min.js?ver=16.13.1:60
Ja @ react-dom.min.js?ver=16.13.1:224
ch @ react-dom.min.js?ver=16.13.1:93
e @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
t @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
b @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ redux-routine.min.js?ver=7f20dbcdb5d5645c977063e356eb95cf:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ block-editor.min.js?ver=390a9f83b606a55e8b523c4d16bdb08c:12
l @ rich-text.min.js?ver=a4eb1e306ca234461cdecbca651dd8d9:2
react-dom.min.js?ver=16.13.1:125 TypeError: Object(...) is not a function
at edit (editor.js?ver=1622014023:1)
at we (react-dom.min.js?ver=16.13.1:84)
at zj (react-dom.min.js?ver=16.13.1:226)
at Th (react-dom.min.js?ver=16.13.1:152)
at tj (react-dom.min.js?ver=16.13.1:152)
at Te (react-dom.min.js?ver=16.13.1:146)
at react-dom.min.js?ver=16.13.1:61
at unstable_runWithPriority (react.min.js?ver=16.13.1:25)
at Da (react-dom.min.js?ver=16.13.1:60)
at Pg (react-dom.min.js?ver=16.13.1:61)
Me @ react-dom.min.js?ver=16.13.1:125
Jh.f.componentDidCatch.c.callback @ react-dom.min.js?ver=16.13.1:139
Wg @ react-dom.min.js?ver=16.13.1:67
oj @ react-dom.min.js?ver=16.13.1:127
Aj @ react-dom.min.js?ver=16.13.1:160
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
ab @ react-dom.min.js?ver=16.13.1:154
Te @ react-dom.min.js?ver=16.13.1:146
(anonymous) @ react-dom.min.js?ver=16.13.1:61
unstable_runWithPriority @ react.min.js?ver=16.13.1:25
Da @ react-dom.min.js?ver=16.13.1:60
Pg @ react-dom.min.js?ver=16.13.1:61
ha @ react-dom.min.js?ver=16.13.1:60
Ja @ react-dom.min.js?ver=16.13.1:224
ch @ react-dom.min.js?ver=16.13.1:93
e @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
t @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
b @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ redux-routine.min.js?ver=7f20dbcdb5d5645c977063e356eb95cf:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ data.min.js?ver=7bfa3a673439e85e459d5ec92d30fdda:2
(anonymous) @ block-editor.min.js?ver=390a9f83b606a55e8b523c4d16bdb08c:12
l @ rich-text.min.js?ver=a4eb1e306ca234461cdecbca651dd8d9:2

【JS】Javascript/正規表現/全角チェック/全角文字を含むかの判定方法

ネットで調べるも、

「/^[^\x01-\x7E\xA1-\xDF]+$/」となっているサンプルが多いが、
先頭・末尾の^と$を指定すると、jsでは、「あa」は全角を含む、「aあ」は全角を含まない判定になってしまったので、

先頭の^
末尾の$
を外し、以下の表現で、文章中のどの位置に全角が含まれていても、trueとなるようにした。



function isZenkaku(str) {
if (str.match(/[^\x01-\x7E\xA1-\xDF]+/)) {
return true
} else {
return false
}
}

IE11対応・IE11で上下の位置ずれを治す。Swiper.js5系 prev/nextボタン

IE11では、Swiper6系以降は動作しない。
IE11対応するにはSwiper5系を利用する。

Swiper5系でも、PREV/NEXTの左右の矢印ボタンが表示されないので、現象があるためCSSのカスタムが必要。

IE11で
・swiperの左右ボタンが表示されない
・swiperの左右ボタンが上下の中央より少し下にずれてしまう
場合は以下のCSSを適用する

.swiper-button-next {
background-image: url(static_images/swiper_arrow.svg);
background-repeat: no-repeat;
background-size: 100%;
width: 44px;
height: 44px;
right: 0;
position: absolute;
z-index: 10;
transform: translate(0%, -50%);
margin-top: 0;
}

.swiper-button-next:after {
content: '';
}

.swiper-button-prev {
background-repeat: no-repeat;
background-image: url(static_images/swiper_arrow.svg);
background-size: 100%;
width: 44px;
height: 44px;
left: 0;
position: absolute;
z-index: 10;
transform: translate(0%, -50%) scale(-1, 1);
margin-top: 0;
}

.swiper-button-prev:after {
content: '';
}

IE11対応・IE11で上下の位置ずれを治す。Swiper.js5系 prev/nextボタン

IE11で
・swiperの左右ボタンが表示されない
・swiperの左右ボタンが上下の中央より少し下にずれてしまう

現象を治すcssサンプル

.swiper-button-next {
background-image: url(static_images/swiper_arrow.svg);
background-repeat: no-repeat;
background-size: 100%;
width: 44px;
height: 44px;
right: 0;
position: absolute;
z-index: 10;
transform: translate(0%, -50%);
margin-top: 0;
}

.swiper-button-next:after {
content: '';
}

.swiper-button-prev {
background-repeat: no-repeat;
background-image: url(static_images/swiper_arrow.svg);
background-size: 100%;
width: 44px;
height: 44px;
left: 0;
position: absolute;
z-index: 10;
transform: translate(0%, -50%) scale(-1, 1);
margin-top: 0;
}

.swiper-button-prev:after {
content: '';
}

IE11対応・IE11で上下の位置ずれを治す。Swiper.js5系 prev/nextボタン

IE11で上下の位置ずれを治すcss

.swiper-button-next {
background-image: url(static_images/swiper_arrow.svg);
background-repeat: no-repeat;
background-size: 100%;
width: 44px;
height: 44px;
right: 0;
position: absolute;
z-index: 10;
transform: translate(0%, -50%);
margin-top: 0;
}

.swiper-button-next:after {
content: '';
}

.swiper-button-prev {
background-repeat: no-repeat;
background-image: url(static_images/swiper_arrow.svg);
background-size: 100%;
width: 44px;
height: 44px;
left: 0;
position: absolute;
z-index: 10;
transform: translate(0%, -50%) scale(-1, 1);
margin-top: 0;
}

.swiper-button-prev:after {
content: '';
}

content.bundle.js:33 Uncaught (in promise) TypeError: Failed to construct 'URL': Invalid URL at y (content.bundle.js:33)

chrome(バージョン: 88.0.4324.192(Official Build) (x86_64)) /Mac Big sur 11.2.1(20D74)

Axe - Web Accessibility Testing4.8.4
Accessibility Checker for Developers in Chrome

という機能拡張を有効にしていたら、chromeのconsoleに以下のエラーが出現。
機能拡張を無効にしたらでなくなる。


content.bundle.js:33 Uncaught (in promise) TypeError: Failed to construct 'URL': Invalid URL
at y (content.bundle.js:33)

axe - Web Accessibility Testing 4.8.4 Accessibility Checker for Developers in Chrome

chrome(バージョン: 88.0.4324.192(Official Build) (x86_64)) /Mac Big sur 11.2.1(20D74)

Axe - Web Accessibility Testing4.8.4
Accessibility Checker for Developers in Chrome

という機能拡張を有効にしていたら、chromeのconsoleに以下のエラーが出現。
機能拡張を無効にしたらでなくなる。


content.bundle.js:33 Uncaught (in promise) TypeError: Failed to construct 'URL': Invalid URL
at y (content.bundle.js:33)

axe - Web Accessibility Testing 4.8.4 Accessibility Checker for Developers in Chrome

chrome(バージョン: 88.0.4324.192(Official Build) (x86_64)) /Mac Big sur 11.2.1(20D74)

Axe - Web Accessibility Testing4.8.4
Accessibility Checker for Developers in Chrome

という機能拡張を使用していたら、chromeのconsoleに以下のエラーが出現。


content.bundle.js:33 Uncaught (in promise) TypeError: Failed to construct 'URL': Invalid URL
at y (content.bundle.js:33)

axe - Web Accessibility Testing 4.8.4 Accessibility Checker for Developers in Chrome