ワードプレスVer6.0にしたら、QTags.addButtonで設定してたクイックタグが使えなくなった件に、仮で対応してみました。
2022/05/25にワードプレスがVersion6.0にアップグレードされました。
自分は、まだクラッシックエディター使ってます。
便利に使えるようにQTags.addButtonを使って「クイックタグ」をfunctions.php や、自作のプラグインで追加設定してます。
ところが、今回のver6.0にすると、表示されなくなってしまいました。
何か変更が起こったようですが、表示されないのは困るので、対応してみました。
クラッシクエディタにクイックタグを追加する設定の内容
functions.phpやプラグイン内で書いていた内容は、こんな感じです。
function add_my_qtag() {
if (wp_script_is('quicktags')){
?>
<script type="text/javascript">
/** 書式 : QTags.addButton('ID', 'ボタンのラベル', '開始タグ', '終了タグ', 'アクセスキー', 'タイトル', プライオリティ); **/
QTags.addButton('h2','H2','<h2>','</h2>','h2','H2',1);
:
:
</script>
これを
function add_my_qtag() {
if (wp_script_is('quicktags')){
?>
<script type="text/javascript">
if(window.addEventListener){
window.addEventListener('load', function(){
/** 書式 : QTags.addButton('ID', 'ボタンのラベル', '開始タグ', '終了タグ', 'アクセスキー', 'タイトル', プライオリティ); **/
QTags.addButton('h2','H2','<h2>','</h2>','h2','H2',1);
:
:
});
}
</script>
という感じで、Listener を使って再度、読み込ませるということですね。
追記 2022/05/29 19:54:57)
結構管理サイトが多いので、いちいちリスナー追加のJS書くのがめんどくさいです。
なんとかならないのかなー・・・って思ったら、他の解決方法を発見された方がいました。
こっちの方が断然楽です(笑)
解決しました。QtagsのJSを追加する add_action( 'admin_print_footer_scripts', 'appthemes_add_quicktags', 100 ); これのpriorityを100にする記述を追加したら復旧しました。6.0との関連は不明。
— 𝕃𝕒𝕓𝕣𝕚𝕕🌁山田 (@koheikun) May 26, 2022
admin_print_footer_scripts を読み込む順番でなんか不具合が起こってるんでしょうかねー?
多分、QTagsを生成する前に、admin_print_footer_scripts が走っちゃうのかなー・・・。
WPの中の人、修正お願い致しますm(__)m
ちなみに、
add_action( 'admin_print_footer_scripts', 'appthemes_add_quicktags', 20 );
と、「20」で十分なようです。
後で再度読み込まれるので、編集画面の表示はちょっと遅くなる
クイックタグが出てくれないと、編集作業がものすごく不便なので、とりあえずの対応です。
編集画面が開いた後に、クイックタグの部分を再度読み込み、という感じです。
編集画面の描画が遅くなるので、ややストレスですが、しょうがないですね。
ワードプレスの製作者の方々が対応してくれたらいいんですけど、そうじゃなきゃこれでやるしかないですかねー・・・。
この方法に気がついたのは、たまたまプラグインのクイックタグが表示されてたから
ちなみに、この方法に気がついたのは、とあるプラグインのクイックタグが出てたから、ソースを確認しました。
ワードプレスのソースを見ても、QTags自体は存在してます。
編集画面でデフォルトのクイックタグが出てるので当たり前なんですが・・・。
ソースを読み込んで、表示されるタイミングの部分を探しても良かったんですが、そんな時間もないので、困っていましたが、
あれ?このプラグインのクイックタグ出てるな・・・
と気がついたので、なんとか対応できました。
ワードプレスのメジャーアップデートは怖いすね。
ホント、元の仕様に戻ることを願っております・・・。
(ふじい)