「post-views」プラグインをPHP7で使うとwarningログが出力されている時の対処法

※当サイトではアフィリエイト広告を利用しています。

WordPress備忘録

WordPressで記事のアクセス数を表示してくれるプラグイン「post-views」は、Googleアナリティクスほど、高機能な解析はできませんが、記事ごとにどのくらいのアクセスがあったかをダッシュボードに一覧で表示してくれるプラグインです。

アナリティクスでレポートを作るのもいいですが、アクセスの少ない記事を人目で知ることができるので、人気のない記事を修正したり、noindex化したりするときの判断材料として私は使用しています。
また、逆にアクセスの多い記事もランキング形式で表示してくれるので、記事を書くときの参考にもすることができます。

とても便利な「post-views」プラグインですが、実はPHP7で使用すると

PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP;

という、warningがPHPのログに出力されています。

Warningメッセージなので、プラグインの動作自体は問題ないのですが、このWarningはPHP7で推奨されなくなる機能の「PHP 4 形式のコンストラクタ」が原因になっています。
PHP7からは

「PHP 4 形式のコンストラクタ (クラス名と同じ名前のメソッドを定義するもの) が非推奨となりました。将来的に削除される見込みです。 PHP 7 では、クラス内でこの形式のコンストラクタしか定義されていない場合に E_DEPRECATED が発生します。 __construct() メソッドを実装していれば、この警告は発生しません。」

となっているために発生しているエラーのようです。
現在は、非推奨のため、動作はするのですが、次期バージョンでは、削除されるもののようです。

「post-views」プラグインは頻繁にアップデートされているようなので、そのうち対応してくれると思いますが、未然に対処しておくのもいいのではないかと思います。対策自体は、それほど、難しくなので、対処手順をご紹介します。

対処手順

1.FTP等で「/wp-content/plugins/post-views/post-views.php」をエディタ等で開く。

2.2193行目の”function WP_Widget_Post_Views()”を”function __construct()”に書き換える。

3.書き換えた「post-vies.php」を元の場所に上書きでアップロードする。

以上で、Warningはでなくなります。
このエラーはPHP7を使用しているときに発生しますので、PHP6等を使っている方はこの対処は不要だと思います。

もしかしたら、他のプラグインでも発生しそうなエラーですが、同じように対処が可能ですので、覚えておくといいかもしれませんね。

ちなみにこの「post-views」は「WP-PostViews」というプラグインとは全く別物ですので、注意してください。

WordPress備忘録
スポンサーリンク
シェアする
スポンサーリンク
スポンサーリンク