이 사이트를 검색 하여이 질문에 대한 많은 답변 을 찾았습니다 . 그들 대부분은 내 주제를 다루지 않습니다.
여기 내가 찾은 하나의 솔루션이 있으며 필요에 따라 작동합니다.
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
이 코드는 ul
의 시작과 끝에서 제거 됩니다 wp_nav_menu()
. 그래서 내 테마에서 나는 단지 쓴다.
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
그러나 관리자를 통해 메뉴를 추가하거나 활성화하지 않으면 문제가 다시 발생합니다. http://domain.com/wp-admin/nav-menus.php
질문 :
<div><ul>**</ul></div>
메뉴의 활성화 여부를 어떻게 제거합니까? 알려주세요
마침내 나는 그것이 효과가 있었다 :) functions.php
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary',
'fallback_cb'=> 'default_page_menu'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
function default_page_menu() {
wp_list_pages('title_li=');
}
header.php
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
menu_class
및 menu_id
메뉴가 활성화 된 경우에만 작동합니다. 메뉴가 않는 경우하지 존재 menu_class
와 menu_id
같이하지 않습니다 <ul>
하지만 같은 <div>
. 그래서 wp_nav_menu()
당신 에 대해 너무 많은 질문은 그것을 테스트 할 수 있습니다 :)
menu_class
및menu_id
매개 변수를 사용 하여 UL에서 클래스 및 / 또는 id 속성을 설정할 수 있습니다 .