“Undefined inex:WP_Widget_Recent_comments in・・・・”【php】

目次

経緯

WordPressでデータベースを使いたくて、いろいろやっていたら、私のサイトの上側にずっと”Undefined inex:WP_Widget_Recent_comments in・・・・”と表示されるようになってしまいました。

目障りだったので、今回はそれを表示が消える方法を勉強しました。

「isset()関数」を使う

まず、原因のプログラムを書きます。

//最近のコメント用インラインスタイルタグ
function remove_recent_comments_style() {
	global $wp_widget_factory;
	remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) );
}
add_action( 'widgets_init', 'remove_recent_comments_style' );

エラーコードを見ると↑の部分がエラーみたいです。調べると、

このコードの目的は、「最近のコメントウィジェットが追加するインラインスタイルタグを削除すること」が目的みたいです。

↓が改善コードになります。3行目にisset()関数を用いて、該当するキーが存在するかどうかを確認することができます。

このコードでは、isset()関数を使用して’WP_Widget_Recent_Comments’キーが存在する場合にのみremove_action()関数を実行します。これにより、エラーメッセージが表示されなくなります。

function remove_recent_comments_style() {
    global $wp_widget_factory;
    if (isset($wp_widget_factory->widgets['WP_Widget_Recent_Comments'])) {
        remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style'));
    }
}
add_action('widgets_init', 'remove_recent_comments_style');
参考になれば、幸いです。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次