はい、ごめんください。WordPress 大好きなコスギです。
WordPress の勉強会は日本全国で開かれているので、今回困ってこの記事にたどり着いた方は、近くの勉強会に行って WordPress に強い方と友だちになっておくと良いですよ(/・ω・)/
追記:以下の現象は PHP5.3 以上の環境なら v2.0.1 で解消されているので、それ以前にアップデートして現象が出てしまった時に確認してください。(対応早い!すごい!)
さて、SNS のシェアボタンなどを表示するのに重宝されている WP Social Bookmarking Light という有名なプラグインがあるのですが、更新するとこんなエラーが出て、にっちもさっちも行かなくなるということがあるようです。
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /〜/wp-content/plugins/wp-social-bookmarking-light/wp-social-bookmarking-light.php on line 44
このエラーが出ると管理画面にもログインできず、公開されているサイトもこのエラーだけが表示されて何もできません。管理者もビックリ。訪問者もビックリ。
そもそもの原因は、PHP のバージョンが古いこと
私に連絡が入ったとき、その方の環境は PHP が 5.3.3 でした。
WP Social Bookmarking Light の更新履歴を見ると、
= 2.0.0 =
* Breaking Changes: Drop support for PHP 5.5 or lower, Require PHP 5.6 or higher [#46](https://github.com/utahta/WP-Social-Bookmarking-Light/pull/46)
* Breaking Changes: Remove terminated some services
* Important: If your WordPress site working on PHP 5.5 or lower, please continue to use v1.9.2 version
とあり、最後の文章に
重要:もし WordPress で動いている PHP が 5.5 以下なら、v1.9.2 を使い続けてください(意訳)
と記載してあります。つまり、最新版に更新しちゃダメだよってことなんですが、これを見て更新を思いとどまる人は少ないんじゃないかなと……。WordPress は本を読んだり Google の情報を見れば簡単に導入できますが、その後のメンテナンスについて求められる知識が結構広いので、WordPress は更新大事!と意識していても、PHP のバージョンを上げることを知らない人は多いんじゃないかなと……。
ということで、対処法を3つ上げましたのでお試しください。
追記:v2.0.1 + PHP 5.3 以上の環境では、以下のとおり問題は解消されています。PHP 5.5 以下は積極的にサポートはしませんが、問題が起きたら報告してね、対応するよ。とのことです。
= 2.0.1 =
* Fixed: for PHP 5.3 [#50](https://github.com/utahta/WP-Social-Bookmarking-Light/pull/50)
* Note: We don’t intend to actively support on PHP 5.5 or lower, but if you get some problems, please report it. We will fix it.
1. FTPでプラグインフォルダ名を変更する
FTP という言葉がわかる人なら、Webサーバにログインして、WordPress のインストールフォルダの下に wp-content があるので、そこから更に plugins と下って、wp-social-bookmarking-light というフォルダ名を見つけたら、適当に名前を変えてください。
wp-social-bookmarking-light__ とかで大丈夫です。
そして再度サイトにアクセスすると、エラーが消えています。
FTP のことはよくわからないけれど、サーバの管理画面ならアクセスできる!という方は、レンタルサーバの「ファイルマネージャ」を見つけて作業してみてください。
もう一度 SNS ボタンを表示させたい場合(WP Social Bookmarking Light を使いたい場合)は、一度 BackWPup などでバックアップを取っておき、「2. PHP のバージョンを上げる」を試してください。
2. PHP のバージョンを上げる
PHP のバージョンが古かったことが原因なので、PHP のバージョンを 5.5 以上にしてやれば解決できます。
ただし、もともとの環境が相当古かった場合は、バージョンを上げると他のプラグインで予期せぬエラーを起こす可能性がありますので、サーバーの管理画面でバックアップをとってから試すことをオススメします。
エックスサーバーならこちら↓
PHPのバージョンについて | レンタルサーバー【エックスサーバー】
ロリポップならこちら↓
PHP設定 / サーバー・プログラム / マニュアル – レンタルサーバーならロリポップ!
なお、私に相談があった方のバージョンは 5.3.3 だったので、5.6.30 にする分には問題ありませんでした。
こうやって PHP のバージョンを上げておけば、セキュリティ的にも安心です。
ちなみに、PHP 7.0 以上にする場合は、一度全部のプラグインを無効化してから 7.0 以上(最新版でOK)に上げ、プラグインを1つずつ有効化していくと突然のエラーにも驚かずに済みます。体感的にも表示が速くなるので、7.0 以上にできるのなら更新しておくことをオススメします。
3. プラグインのバージョンを下げる→上げる
更新への恐怖心も乗り越える必要があると感じているので、これはオススメしない方法ですが、「サーバーの管理画面には入れないけど、WordPress 管理画面でならなんとかなる」という方向けの情報です。本当はセキュリティを保持するためにも PHP のバージョンアップを強く推奨しますから、あくまで応急処置としてお考えください。
v2.0.1 ではエラーは解消されているので、1. でフォルダ名を変えるのではなく「削除」してから、再度 WP Social Bookmarking Light をインストールすればOKです。管理画面でプラグインを削除しない限り設定は残ったままだと思われますので、今まで使っていた状態に戻せます。
追記:以下はもし過去のバージョンを使いたいという場合のメモとして残しておきますが、今回の件に関しては、もう 1.9.2 を使う必要はありません。読み流してください。
この画面の一番下に、「PREVIOUS VERSIONS」という見出しがあります。そこで 1.9.2 を選択して[Download]をポチるとバージョン 1.9.2 のプラグインをダウンロードできます。(miccwebさん、ページ教えてくれてありがとう!)
WP Social Bookmarking Light — WordPress Plugins
ダウンロードできたら、解凍しなくても大丈夫です。zip ファイルのまま使います。
管理画面で無効化された WP Social Bookmarking Light を「削除」して、「管理画面のプラグイン」→「新規追加」の画面上部にある「プラグインのアップロード」をクリックします。
「ZIP 形式のプラグインファイルをお持ちの場合、こちらからアップロードしてインストールできます。」というメッセージに従って、先程ダウンロードした zip ファイルを選んでアップロードしてください。
これで有効化すれば、v1.9.2 を使うことができます。
どうしようもないならホームページを作った人に泣きついてみる
1 も 2 もよくわからなくて泣きそう(´;ω;`) という方は、わかる人泣きついてみるのが一番です。
自分で WordPress を立ち上げたわけではなく、メンテナンス契約は結んでいないけど誰か(友達・仲間・業者など)に作ってもらったという場合には、助けを求めてみてください。
わかる方ならプラグインを停止してくれるはずですが、PHP の環境についても見てほしいなら、このページを教えてあげても良いと思います。
WordPress は最初はよくても、メンテナンスの手間が結構かかる子なので、この機会にメンテナンス契約を結ぶか、単発で契約し直すなどの手続きをしておくことをオススメします。
自分で作ったし、上記のことはなんとなくわかるけれど……という方は、「WordPress プラグイン停止 FTP」で調べたり、「レンタルサーバ PHP バージョンアップ」で検索してみてください。1 と 2 の詳しい情報を知ることができます。
あとはこの際、AddToAny Share Buttons を使うのも手かも。
まわりに頼れる人がいない……( TДT) という方は、PCなら右下チャットや、お問い合わせフォームで小杉にご連絡ください。元の状態に戻すくらいならすぐできます。費用は不要ですが、コスギスのほしいもの(Amazon ウィッシュリスト)から、何か送っていただけるとウレシイです(笑)
PHP のバージョンが 5.3 だと、今後、他のプラグインでも支障が出てきますね。有名な SEO プラグインである Yoast SEO でも、警告が出ます。動きますけど。日本人は英語慣れしていないので、英語で警告が出るとビックリする人多いんですよね。落ち着いて Google 翻訳かけるといいですよ。
WordPress は情報がどんどん新しくなって、本も増えていくのですが……トラブルシューティングまで載っている本を買っておくのはオススメです。あと、最近の WordPress 本のイチオシはこのブログ運営法。自社ブログでも役に立ちます。