0

wordpress テーマにカスタム メニューを含めています。メニュー リスト項目を表示したいのですが、カスタム メニューに項目が追加されていない場合は、ハード コードされたリスト項目もあるために何も表示したくありません。 ..

これが私が使用しているコードです

<ul>
    <?php wp_nav_menu( array('menu' => 'Project Nav', 'container' => false, 'items_wrap' => '%3$s' )); ?>
    <li><a href="www.website.com" title="Back to Website">Back to Site</a></li>
</ul>

ハードコードされた < ul > 内のリスト項目のみとしてカスタム メニューを表示するように機能しますが、カスタム メニューが空の場合は、メインのナビゲーション リスト項目の表示に戻ります...

アイテムが存在する場合はアイテムを表示するか、カスタムメニューが空の場合はハードコードされた「サイトに戻る」だけを表示するにはどうすればよいですか?

どんな助けでも大歓迎です。

ありがとう、トーマス

更新:これを見つけました。コーデックスで見落としていた簡単な修正

<ul>
    <?php $menu = wp_nav_menu( array( 'menu' => 'Commercial', 'container' => false, 'items_wrap' => '%3$s', 'fallback_cb' => false )); ?>
    <li><a href="http://www.website.com" title="Back to Website">Back to Main Site</a></li>
</ul>

'fallback_cb' => falseオプションに追加する必要がありました。

4

2 に答える 2

2

オプションに'fallback_cb'=>falseを追加する必要があります。

于 2011-10-09T16:50:35.403 に答える
1

パラメータとして「echo」を渡して false に設定すると、関数 wp_nav_menu はエコーの代わりにコードを返します

$menu = wp_nav_menu( array('echo' => false, [...] ));

$menu の内容を確認できるように

于 2011-07-28T23:51:58.273 に答える