2

wp_nav_menu 関数を使用して、特定のページ ([外観] > [メニュー] タブ内に格納されている) の子リストを取得する最も簡単な方法を見つけたいと考えています。

例として、「primary_navigation」というメニューがあります。

ホーム
サービス
- Web
- デザイン
- モバイル
お問い合わせ

コード例

<?php 
wp_nav_menu( array(
'theme_location' => 'primary_navigation',
'container'       => '',
'items_wrap' => '%3$s')
); 
?>

[サービス] タブ内のアイテムのみを取得する方法、例:

  • ウェブ
  • デザイン
  • モバイル

探しているコードの例...

<?php 
    wp_nav_menu( array(
    'theme_location' => 'primary_navigation',
    'container'       => '',
    'child_of' => 'PARENT_ID'
    'items_wrap' => '%3$s')
    ); 
    ?>

クライアントがナビゲーションを管理しやすいので、wp_nav_menu関数を使用したいと考えています。

ありがとう!


更新:
このリンクを見つけました: https://wordpress.stackexchange.com/questions/2802/display-a-portion-branch-of-the-menu-tree-using-wp-nav-menu/2809#2809

それは機能しますが、完全ではなく、少し複雑であることがわかりました. このソリューションでは、親 ID で子要素を取得できず、名前の引用に問題があるようです。

より良いアプローチがあれば、私は本当に興味があります!:)

4

1 に答える 1

1

あなたの例では、探しているparent_idを指定することになります。必要な start_depth を簡単に指定できるプラグインを作成しました。したがって、第 1 レベルのメニュー項目を無視して第 2 のメニューを表示したい場合は、次のように start_depth を 1 に指定します。

wp_nav_plus(array('theme_location' => 'primary_navigation', 'start_depth' => 1));

もちろん、WP Nav Plus の使用を開始する前に、プラグインをインストールして有効にする必要があります。興味のある方は私のウェブサイトから入手できます: https://mattkeys.me/products/wp-nav-plus/

補足: この機能は、私が使用した他の多くのコンテンツ管理システムにネイティブに備わっています。Wordpress の既定のオプションではないのはなぜでしょうか? 私はすべての回避策とそれらの特定の「癖」にうんざりしたので、最終的に独自のソリューションを書きました。

于 2013-05-14T01:34:17.963 に答える