Jetpack2.9.3とWordPress3.9.1、コンタクトフォームのエラー

Web・ソフトウェア

WordPressに必ず入れているプラグイン、Jetpack by WordPress.com。(以下Jetpack)

WordPress.comと名称の最後に付いていますが、インストール型WordPressで使えるプラグインです。

Jetpackにはコンタクトフォームを簡単に作れる機能があり、いつも活用させてもらっています。

Jetpackコンタクトフォーム追加ボタン

ところが、新規にWordPressで作ったサイトでJetpackのコンタクトフォーム機能を使おうとした際にエラー発生。

エラー表示内容と解決方法

エラー表示の内容はこのようになっています。

Warning: strpos() expects parameter 1 to be string, array given in /(WordPressインストール場所)/wp-includes/shortcodes.php on line 193

WordPressとJetpackのバージョンは以下の通り。

  • WordPress3.9.1
  • Jetpack by WordPress.com2.9.3

解決に至ったページ

エラー内容をそのままGoogle検索。

すると発見したのは下記ページ。
http://wordpress.org/support/topic/wp-39-warning-strpos-expects-parameter-1-to-be-string

リンク先はWordPressフォーラム。

リンク先ページ中段にあった内容で作業してみました。

/wp-includes/shortcodes.php
の193行目、

if ( false === strpos( $content, '[' ) ) {

この行を以下のように変更。

if ( false === strpos( (string) $content, '[' ) ) {

これでエラー表示は消え、コンタクトフォームも問題なく動いています。