WordPress Custom Walker Li ID в класс LiPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 WordPress Custom Walker Li ID в класс Li

Сообщение Anonymous »

Я в настоящее время использую пользовательский WordPress Walker для настройки моей навигации.
он в настоящее время генерирует эту навигацию: < /p>

< /code>

Когда я нажимаю на Test2, он применит к нему класс current_page_item. < /p>

Все работает нормально, Однако я также хочу использовать ту же навигацию в нижнем колонтитуле.
Если я это сделаю, то я получаю ошибки проверки из -за Li Id.
Как мне изменить идентификатор LI на класс LI? < / P>

Вот мой пользовательский ходок: < /p>

class My_Walker extends Walker_Nav_Menu {
function start_el(&$output, $item, $depth, $args)
{
global $wp_query;
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';

$class_names = $value = '';

$classes = empty( $item->classes ) ? array() : (array) $item->classes;

$current_indicators = array('current_page_item');

$newClasses = array();

foreach($classes as $el){
//check if it's indicating the current page, otherwise we don't need the class
if (in_array($el, $current_indicators)){
array_push($newClasses, $el);
}
}

$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $newClasses), $item ) );
if($class_names!='') $class_names = ' class="'. esc_attr( $class_names ) . '"';

$output .= $indent . '';

$attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
$attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
$attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
$attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';

if($depth != 0)
{
//children stuff, maybe you'd like to store the submenu's somewhere?
}

$item_output = $args->before;
$item_output .= '';
$item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID );
$item_output .= '';
$item_output .= $args->after;

$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
}


Подробнее здесь: https://stackoverflow.com/questions/134 ... o-li-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»