ラムネグから一言:寝る前に読むとくだらなすぎて逆に寝れると好評なすごい適当なブログをこっちではじめてます.
ワードプレスで旧エディタを使ってて、んでテーブル使ってて、こんなエラーが出た!という人。わたしも出ました。
tinymceてのがワードプレスの旧エディタの名前で、それのテーブル挿入するためのプラグインの読み込みに失敗してる、てことなんだけれども、ここではその解決方法を。
ローカルから読み込む
このエラーがプラグインで出ているならそのうちプラグインの作者が治してくれると思うのでそれを待つのが得策、自分でfunctions.phpに書き込んでテーブル機能をエディタに追加していたならCDN経由でテーブルプラグインを読み込むんじゃなくてローカルのjsを読み込むようにすれば解決します。
①table/plugin.min.jsを手に入れる
ここ(https://cdnjs.com/libraries/tinymce/4.9.11)の、
コレ(https://cdnjs.cloudflare.com/ajax/libs/tinymce/4.9.11/plugins/table/plugin.min.js)がtable/plugin.min.js。
②使ってるテーマフォルダの中に入れる
さっき手に入れた「plugin.min.js」をテーマフォルダの中に入れます。名前は変えても大丈夫なのでわたしは「table_plugin.min.js」に変えていれました。
③読み出し部分変更
きっとこういうコードでテーブル機能を追加していると思うので、
function mce_external_plugins_table($plugins) {
$plugins['table'] = '//cdn.tinymce.com/4/plugins/table/plugin.min.js';
return $plugins;
}
add_filter( 'mce_external_plugins', 'mce_external_plugins_table' );
function mce_buttons_table($buttons) {
$buttons[] = 'table';
return $buttons;
}
add_filter( 'mce_buttons', 'mce_buttons_table' );
こっちに変える。
function mce_external_plugins_table($plugins) {
$plugins['table'] = get_template_directory_uri() . '/table_plugin.min.js';
return $plugins;
}
add_filter( 'mce_external_plugins', 'mce_external_plugins_table' );
function mce_buttons_table($buttons) {
$buttons[] = 'table';
return $buttons;
}
add_filter( 'mce_buttons', 'mce_buttons_table' );
変わってるのは上の部分だけ。CDNから読み込むのをテーマフォルダの「table_plugin.min.js」に変えているだけ。わたしは「table_plugin.min.js」に変えてるのでこの名前ですがそうじゃないなら「plugin.min.js」でOK。
完了!
これでエラーが出なくなって表機能がエディタで再び使えるようになりました。
なんでエラーがいきなり…?
ここから下は解決後の種明かし的な話なんで、もう解決したからいいや、という人は読み飛ばしてOK。なんで急にこんなエラーが出たのか知りたい人だけ読んでくださいね。
このエラーって冒頭でも書いたんですがCDNが読み込めないよ!っていうエラーなんですよね。
つまり今回tinymceがCDNの提供をやめちゃった、というのが原因となっているようです。
tinymceの公式ページに行くと英語でCDNはクラウドサービスに変わりました。みたいなことが書かれて(これ:https://www.tiny.cloud/docs-4x/advanced/cdn-details/)いて、んでクラウド版のtinymceを使うには会員登録が必要なようです。
てことで今回は他のCDN管理サイト(cdnjs.cloudflare.com)から過去の分でかつワードプレスに採用されているバージョンのtinymce(tinymceバージョン4.9.11)のtableプラグインをダウンロードしちゃう、ていうやり方にしています。
cdnjs.cloudflare.comからCDNで取得してもいいんですが、今後cdnjs.cloudflare.comのtinymceが消えないとも言えないし、ローカルにダウンロードしといて、どうなっても使えるようにしておくのがいいのかなーと。
まとめ
ワードプレスの旧エディタでtable/plugin.min.jpが読み込めない、ていうエラーが出る解決方法を紹介しました。
まとめるとCDNの提供がなくなっちゃったから別途jsファイルを用意してそれを読みこめばいい、ということでした。
ちなみに他で使ってるプラグイン側でこのエラーが出ているならどこで読み込んでるのかわからないので、しばらく待っておくのがいいと思います。
【おしらせ、というか完全なる宣伝】
文体がもうぜんぜん適当すぎてあれだけどものすごい自由に書いてるブログ「檸檬だくだく」もよろしく.寝る前に読める恐ろしくくだらないやつです.
こんなにも一ミリも目を引かれないタイトルを取り扱ってます: ココア20g / ハイチュウとかってさ / なぜ米と小麦を食べようと思ったのかの謎 /