ことの発端は、PHP5.3系にしたことで始まりました。

PHP Parse error: syntax error, unexpected T_ELSE in /var/www/html/wordpress/wp-content/plugins/wp-gravatar/gravatars.php on line 752

さて、ソースはどうなってるかな?
と見たところ、結構複雑になっていました。

その752行を見てみると、こう記述してあったんです。

<?php } else { //Not using WP25 – okay heres the version for pre 2.5 ?>

wordpress2.5ではここからは使わないよ。という記述なので、自分が使用しているのが、2.8.6なので、ばっさり消しました。

具体的には、

<?php } else { //Not using WP25 – okay heres the version for pre 2.5 ?>

<?php }

して以下のソースを875行目まで消しちゃったわけで。w

その結果、こうなります。

<?php }
function gravatar_single_post($s){
global $post, $wpdb, $wp_query;

説明しても難しいので、ファイル置いときます。

ちなみに、Version: 2.7.1です。

gravatars.php

拡張子がわざとtxtにしてあります。
gravatars.php_.txtをgravatars.phpに名前変更して、ご使用ください。

人のファイルを改変して提供することはいけないのですが、オープンソースなので、こういうことが実現可能なんです。

けれど、コピーライトは
Author: Rune Gulbrandsoy
Author URI: http://gravatar.bloggs.be
です。

忘れずにお願いします。

From xxxYukihiroxxx

P.S
今フォーラムみたら同じ方もいらっしゃったみたいで。w
Parse error: syntax error, unexpected T_ELSE « Gravatar Support Page

1件のコメント

  1. 突然のコメント失礼致します。私も自作ソースで、PHP5.3.1で全く同じエラーに遭遇し、貴サイトにたどり着きました。結局原因は、タグを() と書くべきところ、省略型()で書いてしまっていたところが、PHP5.3では、phpコードとして評価されなくなった(?)ことによるものでした。
    wp-gravatarのソースも見てみたところ、が2箇所あり、これが怪しそうです。このせいでifの入れ子が崩れてParse errorになっているのかもしれません。
    (そうだとすると、と直すのが正しい修正かと思われます。ただ、当方wordpressは使っていないので未検証です。)

    コピーマスター

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.