[PHP7]Feedwordpressで「Warning: Parameter 2 to SyndicationDataQueries::posts_search() expected to be a reference, value given in」のエラーが出た場合の対処方法
XserverでPHPバージョン7.1を使用した際にFeedwordpressでエラーが出るようになったので対象方法をメモ。
PHPバージョンを7.1に変更した際に以下のようなエラーが表示されるようになりました。
Warning: Parameter 2 to SyndicationDataQueries::posts_search() expected to be a reference, value given in wp-includes/class-wp-hook.php on line 298
Warning: Parameter 2 to SyndicationDataQueries::posts_where() expected to be a reference, value given in wp-includes/class-wp-hook.php on line 298
Warning: Parameter 2 to SyndicationDataQueries::posts_fields() expected to be a reference, value given in wp-includes/class-wp-hook.php on line 298
Warning: Parameter 2 to SyndicationDataQueries::posts_request() expected to be a reference, value given in wp-includes/class-wp-hook.php on line 298
エラーメッセージを見ると、
参照渡しではなく、値として渡す必要があるとの事。
対処方法としては以下ファイルを修正します。
feedwordpress/syndicationdataqueries.class.php
41行目
function posts_search ($search, &$query) { ↓ function posts_search ($search, $query) {
78行目
function posts_where ($where, &$q) { ↓ function posts_where ($where, $q) {
95行目
function posts_fields ($fields, &$query) { ↓ function posts_fields ($fields, $query) {
34行目
function posts_request ($sql, &$query) { ↓ function posts_request ($sql, $query) {
上記修正をする事でエラーメッセージが表示されなくなりました。
参考サイト
https://github.com/radgeek/feedwordpress/issues/86
最新情報をお届けします