投稿一覧ページのサイドバー内に「最近の投稿」を表示させない方法

ウイジェットを「有効化」すると、サイドバー表示が設定されている、すべての投稿ページ・固定ページ・投稿の個別ページなどに、そのウイジェットが出力されます。

しかし、ある特定のページには、そのウイジェットを出力させたくない場合があります。

例えば、ブログページ(投稿を一覧で表示するページ)のサイバー内に、改めて「最新の投稿」を一覧表示させたくないものです。

対策として、新たなウイジェットを作成する、といった方法があります。

しかし、ここでは、もっとも簡単な方法でカスタマイズ(ブログページでは「最新の投稿」の一覧を非表示)します。

投稿一覧ページのサイドバー内に「最近の投稿」を表示させない方法

下をそのまま functions.phpp 内に記述してください。

/*
 * no recent posts widget on blog page
 */
add_filter('widget_posts_args','my_widget_posts_args');
function my_widget_posts_args($params){
  if ( is_home()){
    $params['year']=2010;
  }
  return $params;
}

ページが home の時、2010 年に投稿した記事のみ出力しなさいという設定。

つまり、当サイト開始は、2015年ですので、投稿一覧ページには「最近の投稿」が表示されない設定となっています。

もしも、サイトが、それ以前から運用されているのであれば、この数字をもっと古い数字に変更してください。

参考情報・ご注意事項

  • widget_posts_args にフィルターフックしています。
  • widget_posts_args は、wp-includes-> widgets -> class-wp-widget-recent-posts.php 内にあります。
  • 条件分岐タグ is_home を利用していますが、サイトの設定条件次第で、正しく機能しない場合があります。WordPress Codex 日本語版の「条件分岐タグ」を参考にしながら設定をお願いします。
  • 当記事内容は深く検証していません。使用方法によっては不具合が発生する場合がありますので、ご自身の責任においてご利用ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です