Цель здесь — сделать элемент верхнего уровня главного меню WordPress Boostrap, который содержит подэлементы, выступать в качестве интерактивной ссылки для устройств шириной более 768 пикселей и сохранять поведение по умолчанию для небольших устройств.
В строке navwalker.php в строке 83 находится следующий код:
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
$atts['href'] = '#';
$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
}
Чтобы сделать ссылку доступной для обычных экранов, мне нужно изменить код, но затем добавить оператор else, чтобы он сохранил поведение по умолчанию, например:
// If item has_children add atts to a.
if ( $args->has_children && $depth === 0 ) {
if ( $windowwidth < 768) {
$atts['href'] = '#';
$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
} else {
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
//$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
}
}
Вопрос в том, как получить $ windowwidth, предположительно в JavaScript, чтобы я мог использовать его в предложении PHP if / else.
Задача ещё не решена.
Других решений пока нет …