Здравствуйте! Я использую тему WordPress, для которой настроен пользовательский wp_nav_menu, однако я бы хотел настроить ее дальше. Но я не уверен, как это сделать.
Тема имеет функцию для меню, которая:
function litho_default_wp_menu()
{
$args = array(
'sort_column' => 'menu_order, post_title',
'menu_class' => 'menu',
'include' => '',
'exclude' => '',
'echo' => false,
'show_home' => false,
'link_before' => '',
'link_after' => '' );
$menu = wp_page_menu( $args );
$menu = preg_replace('/^(<div class\="menu"><ul>)/i','',$menu);
$menu = preg_replace('/(<\/ul><\/div>)$/i','',$menu);
echo '<ul class="simple-nav">'.$menu.'</ul>';
}
и это выводит меню, код которого выглядит следующим образом:
<div class="row" id="main_menu">
<div class="columns six">
<nav role="navigation">
<ul class="simple-nav">
<li class="page_item page-item-15 current_page_item"><a href="http://192.168.0.16:8888/">HOME</a></li>
<li class="page_item page-item-38"><a href="http://192.168.0.16:8888/directing/">DIRECTING</a></li>
<li class="page_item page-item-40"><a href="http://192.168.0.16:8888/compositing/">COMPOSITING</a></li>
</ul>
</nav>
</div>
</div>
Тем не менее, я использую Isotope для своей темы, которая фильтрует и сортирует содержимое страницы, а не переходит на другую страницу. И хотел бы, чтобы мое меню выглядело так:
<div class="row" id="main_menu">
<div class="columns six">
<nav role="navigation">
<ul id="filters">
<li><a href="#" class="all" data-filter="*">show all</a></li>
<li><a href="#" class="directing" data-filter=".directing">directing</a></li>
<li><a href="#" class="compositing" data-filter=".compositing">compositing</a></li>
</ul>
</nav>
</div>
</div>
Как бы я пошел по этому поводу? Я сейчас читаю о wp_nav_menu и о том, как его настроить, но подумал, что я тоже здесь спрошу.
Спасибо
Вы можете создать собственное меню. Пользовательские меню редактируются с помощью функций администратора WordPress, поэтому вы можете размещать их в любом порядке, добавлять внешние ссылки или ссылки на любые сообщения / таксономии, которые есть в вашем WordPress. Документация здесь: https://codex.wordpress.org/Navigation_Menus
Однако это так же просто, как добавить следующий код в плагин или в файл functions.php:
function register_my_menus() {
register_nav_menus(
array(
'custom-menu' => __('Custom Navigation Menu')
)
);
}
add_action( 'init', 'register_my_menus' );
Далее вам нужно будет создать меню в WordPress Admin, перейдя к: Внешний вид> Меню> создать новое меню (вверху страницы).
Назовите меню, а затем под ним, у него будут флажки с пользовательскими идентификаторами меню, указанными вашим плагином / темой. Это так называемые местоположения тем. Вы можете установить флажок рядом с вашим именем пользовательского меню — в данном случае, «custom-menu».
Затем вы можете выполнить одно из следующих действий:
Добавьте код в шаблон, чтобы распечатать навигацию.
wp_nav_menu( array( 'theme_location' => 'custom-menu' ) );
Добавьте пользовательский виджет меню на боковую панель, используя созданное вами меню.
Наконец, вы можете оформить виджет с помощью CSS.
Надеюсь, это поможет.
Других решений пока нет …