반응형
wp_nav_메뉴에서 li 요소에 클래스 추가
워드프레스의 wp_nav_메뉴에 문제가 있습니다.저는 Li 원소들의 구조를 만들고 싶습니다. 여기서 모든 원소들은 "menu-li" 클래스를 가질 것입니다.하지만 저에겐 통하지 않는군요.이것은 제 기능을 하고 있습니다.php 파일:
register_nav_menus(
array(
'primary-menu' => __( 'Primary Menu' ),
'secondary-menu' => __( 'Secondary Menu' )
));
그런 다음 워드프레스 관리 패널에 메뉴를 만들었고 이제 내 테마에 메뉴를 추가하고자 합니다.
<?php
$defaults = array(
'theme_location' => 'primary-menu',
'menu' => '',
'container' => '',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu-li',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul>%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
?>
모든 요소를 선형으로 표시하지만 "menu-li" 클래스는 없습니다.어떻게 하면 모든 액체 요소에 추가할 수 있습니까?
그menu_class
클래스에 추가된 컨트롤의 매개 변수<ul>
개별 요소가 아닌 래퍼 요소<li>
s. 메뉴 항목에 클래스를 추가하려면 필터를 사용합니다.
이렇게 작동합니다(테마에 추가).functions.php
파일):
add_filter ( 'nav_menu_css_class', 'so_37823371_menu_item_class', 10, 4 );
function so_37823371_menu_item_class ( $classes, $item, $args, $depth ){
$classes[] = 'menu-li';
return $classes;
}
이것은 추가될 것입니다.menu-li
모든 메뉴 항목에 클래스를 지정합니다.
조건에 따라 이 작업을 수행할 수도 있습니다.$item
,$args
당신이 원한다면 등이 이 필터로 전달됩니다.
사용자 정의 메뉴에서 클래스 추가가 필요한 경우 다음 코드를 사용합니다.
add_filter('nav_menu_css_class','arg_menu_classes',110,3);
function arg_menu_classes($classes, $item, $args) {
if($args->menu == 'FooterMenu') { // name need menu
$classes[] = 'col-6 col-sm-6'; // add classes
}
return $classes;
}
언급URL : https://stackoverflow.com/questions/37823371/adding-class-to-li-elements-in-wp-nav-menu
반응형
'programing' 카테고리의 다른 글
목표 C UIC 색상 상수 정의 (0) | 2023.11.01 |
---|---|
WP REST API V2를 통해 사용자 정의 필드로 Custom Post Type을 올바르게 작성하는 방법 (0) | 2023.11.01 |
장고 ORM, 요일별 그룹 (0) | 2023.11.01 |
PowerShell Out-File 명령에서 줄 바꿈 방지 (0) | 2023.11.01 |
"소시지 만드는 법" apache/php/mysql 상호 작용 견학 (0) | 2023.11.01 |