カスタムメニューに登録があるかどうかを判定するために

「has_nav_menu」で条件分岐を行おうとしたのですが

登録があるにも関わらず全てelseになってしまいます。

codexを見直し、綴りにミスがないかも確認しましたが

なぜ判定できないのかが分かりませんでした。

初歩的な見落としかもしれませんが、ご指摘いただけると助かります。

functions.phpへの記述内容

add_action('init', 'custom_menu');
function custom_menu() {
  $args = array(
    'header_menu' =>  __('グローバルナビ'),
    'sidebar_left' =>  __('サイドナビ(左)'),
    'sidebar_right' =>  __('サイドナビ(右)'),
  );
  register_nav_menus($args);
}

テンプレートへの記述内容

if ( has_nav_menu( 'sidebar_left' ) ) {
    echo 'OK';
} else {
    echo 'NO';
}

ロケーション名を変更したり、管理画面からナビメニューを再登録しても結果は同じでした。

#wordpress

[WordPress]has_nav_menuがうまく判定されない|teratail
1.65 GEEK