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