私は1つの新しいメニューを作成し、私のメニューを表示するためにfooter.phpに以下のコードを追加しました
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav' ));
現時点ではこのメニュー内にページを追加していないので、footer-cn
内に使用可能なページがある場合にメニューを表示する場合に何らかの条件を設定したいと思います。
私はこのような条件を設定したいです。
<?php
if(){ // Some condition
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav' ));
}
?>
出来ますか?
ありがとう。
ナビゲーションメニューが空のときに非表示にするには、ここで条件付きを使用する必要はありません。
wp_nav_menu( $args );
を見てください。以下の引数を受け入れます
$defaults = array(
'theme_location' => '',
'menu' => '',
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
ここで重要なのは'fallback_cb'
です
$ fallback_cb(文字列)(オプション)
メニューが存在しない場合は、使用するフォールバック機能。フォールバックしない場合はfalseに設定します。注:$ argsをカスタム関数に渡します。
デフォルト:wp_page_menu
空のときにメニューを隠すには、単に引数にこれを追加するだけです。
'fallback_cb' => false
だからあなたの終了コードは
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav', 'fallback_cb' => false));