programing

워드프레스에서 별도로 관리하는 두 메뉴를 하나로 통합하여 프런트 엔드 테마에 표시하는 방법은 무엇입니까?

showcode 2023. 3. 16. 22:03
반응형

워드프레스에서 별도로 관리하는 두 메뉴를 하나로 통합하여 프런트 엔드 테마에 표시하는 방법은 무엇입니까?

wp에 이미 구축되어 있는 사이트의 wp 테마를 만들고 있으며, wp admin에서 2개의 메뉴로 나누어져 있는 매우 큰 메뉴를 가지고 있습니다.

저는 이 두 가지 메뉴를 하나의 UL로 병합하고 싶습니다.현재 다른 div 컨테이너와 ulli에 두 가지 메뉴를 생성하고 있으며, 여기에 적용된 스타일과 js를 깨트리고 있습니다.

어떻게 하면 이 두 메뉴를 단일 컨테이너에 단일 ulli로 병합할 수 있나요?

그럼 wp_nav_menu()를 사용하는 경우

같은 것을 사용해 보다

<ul id="MyMenu">
  <?php wp_nav_menu( array('menu' => 'FirstMenu', 'items_wrap' => '%3$s' ) ); ?>
  <?php wp_nav_menu( array('menu' => 'SecondMenu', 'items_wrap' => '%3$s' ) ); ?>
</ul>

items_menu를 사용하면 각 메뉴에서 ul이 삭제되므로 이미 정의된 ul 태그에 메뉴를 캡슐화하면 wp_nav_menu는 li 태그만 뱉어냅니다.

ul 랩의 분리를 참조해 주세요.http://codex.wordpress.org/Function_Reference/wp_nav_menu

M

문제는 각 wp_nav_메뉴가 여전히 개별 div로 포장되어 있다는 것입니다.다음과 같이 각 div에 "false"를 추가하여 이러한 div도 해제해야 합니다.

<ul id="MyMenu">
  <?php wp_nav_menu( array('menu' => 'FirstMenu', 'items_wrap' => '%3$s', 'container' => false ) ); ?>
  <?php wp_nav_menu( array('menu' => 'SecondMenu', 'items_wrap' => '%3$s', 'container' => false ) ); ?>
</ul>

이 방법과 조합할 수 있습니다.WP에 의해 생성된 메뉴 클래스 중 일부를 유지합니다.

// two WordPress menus combined into one.
// first menu.
$menu = wp_nav_menu( array(
    'theme_location'=> 'secondary', // or whatever location
    'fallback_cb'   => false,
    'container'     => '',
    'items_wrap' => '%3$s',
    'echo' => false
) );
// include all of the menu items from the first inside the second menu.
wp_nav_menu( array(
    'theme_location' => 'primary', // or whatever location
    'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s ' . $menu . '</ul>',
) );

언급URL : https://stackoverflow.com/questions/10346668/how-to-merge-two-menu-managed-separately-in-wordpress-for-displaying-as-one-in-f

반응형