2019-01-28

【アップデート情報】全テーマ対象:functions.php内の不要機能のコード削除(PHP7.2〜/PHP8.0〜アップデートのエラーの解消)を行ないました(Ver.20190128)

重要度★★★

ご利用ありがとうございます!

全テーマを対象にPHP7.2.X〜/ PHP8.0〜 対応のコード修正を行いました。
具体的にはfunctions.phpから以下の不要機能のコードを削除しました。

削除その1「シングルページテンプレート設定」欄

/* ************************************************
* シングルページテンプレート設定
* ************************************************ */

add_filter('single_template', create_function('$t', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(get_template_directory() . "/single-{$cat->term_id}.php") ) return get_template_directory() . "/single-{$cat->term_id}.php"; } return $t;' ));

カテゴリーごとにシングルページテンプレートを振り分ける機能ですが、
WordPress4.7以上で不要になっていますので、上記の記述丸ごと削除しました。

これによって、PHP7.2.X〜にアップデートする際のDeprecatedエラー、
PHP8.0以降にアップデートする際のFatal errorが解消されます。

*create_function() 関数がPHP7.2.Xで非推奨になりました。

エラー例
Deprecated: Function create_function() is deprecated in /wp-content/themes/XXXXXX/functions.php on line XXX

Fatal error: Uncaught Error: Call to undefined function create_function() in /wp-content/themes/XXXXXX/functions.php on line XXX

削除その2「#more-$id を削除」欄

/* ************************************************ 
* #more-$id を削除
* ************************************************ */

function custom_content_more_link( $output ) {
$output = preg_replace('/#more-[\d]+/i', '', $output );
return $output;
}
add_filter( 'the_content_more_link', 'custom_content_more_link' );

こちらはmoreリンクの#moreを消すためのコードですが、
現在発売中のテーマでは不要になったので削除しました。

作業は以上です。

また古いテーマをご利用中の方は合わせて、【アップデート情報】全テーマ対象:WP4.9にアップデート後にデバッグモードでコメント欄に表示されるエラーを解消しました(Ver.20171118)もご確認ください。

*本日2019年1月28日20:30以降のダウンロードファイルは変更済みです。

*作業を行なう際は、万が一間違えてもすぐに元に戻れるように、
必ず必ず必ずバックアップを取ってから慎重に行ってください!

おすすめWordPressテーマ10選
by