SWELLテーマ移行でcall_user_func_arrayエラーが出た時の対処法

今回記事の対象

・AFFINGER5からSWELLへテーマ移行まさにしてる最中の人
・移行後にWarning:call_user_func_array()…が突然画面に出るようになった人

こんにちは。ほころびです。

先日、当サイトのWordPressテーマをAFFINGER5からSWELLに移行しました。

9割スムーズにいったのですが1割の問題にひっかかったので、そのときに発生したトラブルの解消法について書いて行こうと思います。

目次

発生した問題

テーマ移行後、サイトのトップページに以下のエラー文が表示されるように。
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘move_jquery’ not found or invalid function name in /~(以下省略エラー指定ファイル)

ほころび

正直身に覚えがない

サイトのヘッダーあたりに上記エラー文が出てしまっているため、サイトの見た目に関わります。

いきなりエラー文が出ると「コードをなんかいじらないといけないのか!?」と思っていたのですが、今回特にいじらずに解決しました。

対処法

プラグインを1つずつ外してみるorコード記述をしたならそちらを見直してみる。

私の場合「code snippets」プラグインを外した時点でエラー解消されました。

code snippetsプラグインはfunction.php の編集したいけど直接コードをいじるのも怖いな…という方向けの編集プラグインです。

確認したところプラグイン側とテーマ側の不具合ではなく、「code snippetsプラグインに記述したコード」にエラーがあることがわかりました。

つまり自分で記述したコードです。

原因

問題の記述したコードは「Googleアドセンス広告の読み込み(サイト速度改善のための)」に関するコードだった。
テーマ移行直後はGoogleアドセンス広告がない(入れていない)状態だったため、該当コードが起動できず「Googleアドセンス広告ないから値(引数)が取れなくて式が成立しないんだけど!?」とエラーを出していた。

ほころび

ただのうっかりだった件について

‘move_jquery’が見つからないと言われて見に行ったら、該当部分’move_jquery’は関数(function)ではなく引数部分だった=値が何らかの理由で取れていないという図式でした。

→そもそもこれ何のためのコードだっけ?

→Googleアドセンス広告が重いからサイト読み込み速度改善のためのコード

→そういえばテーマ乗り換え後にGoogleアドセンス広告を入れていなかった

→入れたらエラー消化

SWELL移行後

上記トラブル以外は何事もなくテーマ移行作業を無事完了することができました。

あとはデザインが気になったり、ポチポチしていくだけです。

移行しながら思ったことが以下です。

移行したときの所感

・クラシックエディターからブロックエディターに移行
・これまでの記事の装飾をAFFINGER5からSWELLに変更する
・SWELLに移行するとプラグインが減る

クラシックエディターからブロックエディターに完全移行

結論から言いますと、SWELLに入ったらブロックエディターに完全移行することをおすすめします。

クラシックエディターとブロックエディターを両方使おうとすると逆に使いずらいです。

SWELLはブロックエディターを前提としているところがあるのでSWELLの真価を発揮したのであればそちらがいいと思います。

機能の数もクラシックエディターよりブロックエディターの方が格段に豊富。

最初は操作方法に戸惑うこともありますが慣れです。

これまでの記事の装飾をAFFINGER5からSWELLに変更する

記事数+記事の装飾が多いと地味に大変な作業です。

移行時の当サイトは約30数記事でしたが、ほぼこの作業で一日なくなりました。

移行にはなるべく早い段階で余裕をもってやりましょう。

SWELLに移行するとプラグインが減る

本当に減ります。

SWELL公式で推奨プラグイン・非推奨プラグインを公開しています。

AFFINGER5からSWELL移行時に以下のプラグインを削除しました。

・Classic Editor
・TinyMCE Advanced
・Table of Contents Plus

+今回のエラー原因であるcode snippetsも削除で4つ減りました。

上記プラグインはSWELLの中だと「ブロックエディターを使うなら不要なもの」「SWELLに標準機能としてあるから不要なもの」「不具合が起きやすい相性が悪いもの」のどれかに分類されるため。とにかく減りました。

カスタマイズが苦手でシンプルでスッキリしたい人にはSWELLは最適です。

まとめ

今回のポイントは

・テーマ移行時、サイトにエラー文が表示されていたらまずプラグインを外して確認する
・SWELLになったらクラシックエディターを卒業してブロックエディターに完全移行するのがオススメ
・SWELLにするとプラグインがグッと減るのでシンプルを好む人には向いている

始めてのWordPressテーマ移行作業。トラブルと言っても今回プラグインが原因だったので、それ以外の移行作業はスムーズに進行することができました。

テーマを変えると、家を引っ越して荷物を自分の部屋において使えるように整理整頓するような感覚ですね。

よかったらシェアしてね!
目次
閉じる