WordPressでサイドバーウィジェットが表示されない時に確認したい3つのこと

PHPファイルに「get_sidebar()」を記述しても、サイドバーが表示されない!ということがありますよね。

そんな時には、次の3つを確認してみましょう。

① dynamic_sidebarの()の値は正しいか

dynamic_sidebarの()の値がウィジェットエリアのIDまたは名前になっているか、スペルに間違いがないかを確認しましょう。

✕ <?php dynamic_sidebar( 'sideber' ); ?> スペルミスのため表示されない
◯ <?php dynamic_sidebar( 'sidebar' ); ?> 

② functions.phpのregister_sidebarは正しく記述できているか

【誤】
if (function_exists('register_sideber')) { ← sidebarのスペルが違う
    register_sidebar(array(
      'name' => 'サイドバー',  
      'id' => 'sidebar'  ← 末尾のカンマが抜けている
      'description' => 'サイドバーウィジェット',
      'before_widget' => '<div>',
      'after_widget' => '</div>',
      'before_title' => '<h3>',
       after_title => </h3>キーを囲む' '(シングルクオテーション)が抜けている
   ));
}
【正】
if (function_exists('register_sidebar')) {  ← 正しくはsidebar
    register_sidebar(array(
      'name' => 'サイドバー',
      'id' => 'sidebar',  ← 末尾にカンマを追加
      'description' => 'サイドバーウィジェット',
      'before_widget' => '<div>',
      'after_widget' => '</div>',
      'before_title' => '<h3>',
      'after_title' => '</h3>' ← ' '(シングルクオテーション)でキーを囲む
   ));
}

③ register_sidebarのidに大文字が含まれていないか

【誤】
if (function_exists('register_sideber')) {
    register_sidebar(array(
      'name' => 'サイドバー',  
      'id' => 'sideBar', ← 大文字が含まれているため表示されない
      'description' => 'サイドバーウィジェット',
      'before_widget' => '<div>',
      'after_widget' => '</div>',
      'before_title' => '<h3>',
       after_title => '</h3>'
   ));
}
【正】
if (function_exists('register_sideber')) {
    register_sidebar(array(
      'name' => 'サイドバー',  
      'id' => 'sidebar', ← 全て小文字で記述する
      'description' => 'サイドバーウィジェット',
      'before_widget' => '<div>',
      'after_widget' => '</div>',
      'before_title' => '<h3>',
       after_title => '</h3>'
   ));
}

サイドバーにウィジェット(エリア)が表示されない時には、この3点をまず注意深く確認してみましょう。

WEBやWordPressのことでお困りでしたら、
ぜひお問い合わせください。