ワードプレスの海外テーマ買ったら『Cannot use a scalar value as an array』が出たので対処方法(応急処置)を紹介!

Wordpress(ワードプレス)

みなさんどうもワードプレス!海外テーマ大好きな@xi10jun1です。

ワードプレスのコミュニティサイト化プラグイン「BuddyPress」専用のテーマを海外サイトから買ったんですが、テーマをアップロードしたら速攻でエラーが出ました。

んもう!

Cannot use a scalar value as an array

今回買ったテーマに出てきたエラーはこちらです。

Cannot use a scalar value as an array ドメイン名/wp-content/themes/買ったテーマ名/lib/framework/page-builder/page-builder-custom-options.php on line 70

Cannot use a scalar value as an arrayを訳すと、『スカラー値をここに入れられないよ!』ってなるんですが、まぁチンプンカンプンです。

ググってみたところ、このような記述がありました。

上記のエラーは配列と同じ名前の変数を作ってしまっているときに出ます。

例えばこんなコードで再現できると思います。

<?php
$hoge=1;
$hoge[0]=1;  // <-- ここで PHP Warning: Cannot use a scalar value as an array in のはず
?>

引用元:PHPのエラーの対処法について – PHPプロ!Q&A掲示板※$は全角にしていますが、本来は半角です。

なるほどね。

ただ2007年の情報なので、なんとも・・・。

1年分で検索しても日本語の回答がなかったので、とりあえずいじってみました。

対処方法(応急処置)

というわけで、対処してみました。ちなみに応急処置的な方法なので、たぶんもっといい方法があるはずです。なおファイルをいじる際は、バックアップをしっかり取ってくださいね。

で、原因となっている個所にアクセスすると、このような記述になっていました。※ここでも$は全角にしていますが、本来は半角です。

編集前

$param[‘value’][esc_html__( ‘GP Primary Color’, ‘テーマ名’ )] = ‘gp-primary-color’;

先ほどの引用の様子からするに、[]内がまるまる無駄っぽかったので、

編集後

$param = ‘gp-primary-color’;

と、[‘value’][esc_html__( ‘GP Primary Color’, ‘テーマ名’ )]を消去してしまえばいけるんじゃね?って思って消したら、エラーがなくなりました。

まとめ:買ったテーマでもこういうことがあるよ!

本当はガッツリ原因を調べて正しい対処方法を施すべきなんですが、サイトの運営を優先したいので、今回は応急処置だけです。

そもそも、買ってすぐアップしてこのエラーでは困りますからね。テーマの販売元で修正アップデートとか出るまで待ちますか。

これが海外テーマのリスクか・・・。

なお、ワードプレスでどうしても分からないときは、プログラマーやエンジニア向けの質問サイト「teratail(テラテイル)」で同じ質問を探してみましょう。同じような質問があれば解決の糸口になりますし、なければ登録して質問することができます。

アクセスはこちら→エンジニアのためのQ&Aサイト【teratail】

スポンサーリンク



スポンサーリンク