RSSのプラグインを使ってみたら、サイト表示時にWarningが!なんかよくわかりませんが、リロードすれば消えるWarning。対処方法を考えます。
WordPressで使ったプラグインや環境
プラグイン:RSS Antenna
テーマ:Cocoon
Warning: preg_match() expects parameter 2 to be string, array given in
まず最初に出たWarningです。調べてみると、割と多くのかたが悩んでいそうです。
ここによるとどうも特殊文字をエスケープしないといけなさそう。
RSSですので当然「/」や「.」があるのでURLを「\」でエスケープしてみる。
が、ダメ。プラグインが原因で出ていることもあるみたいですが、そもそもこのプラグイン使わないと現状RSS捌けないし…ということで相性問題もあるかと、WordPressとCocoonのバージョンを上げてみました。するとなんと解決!
プラグインとテーマの相性だったのか正直バージョン上げたら直っちゃったので真因はわからなくなってしまいましたが解決したからよし!
Warning: Illegal string offset
さてWarning減ったとほくほくしていると、次は別のワーニングが!
こちらに細かく書いてありますが、PHP触るとなるとハードル高くなりますし、そもそもWarning出るものの、やりたいことはやれているので、Warning消してやろうと!
サイトに表示されるWarningを消す
Warningを消すには「wp-config.php」を触る必要があります。該当のファイルは直下にございます。
ファイルを開いて、以下の設定を追加します。
ini_set(‘display_errors’,’Off’);
自分の環境ではすでにWP_DEBUGフラグはfalseになっていました。
私はさくらインターネットのファイルマネージャから直接書き換えましたが、ファイルを開くと
と注意書きが書いてあったので編集の際にはご注意を。
まとめ
今回は根本解決でなくパッチーな対応でした。でもあらゆるワーニングが消えてしまうのでそれはそれデメリットがあるような…プラグインに頼らずPHP勉強して自分で実装したら根本解決できるのだろうか。
コメント