Intereting Posts
Виджеты WordPress / разделители боковой панели? WordPress Query Crashes Browser Как включить разрывы строк в файле_excerpt? Как установить одну установку на blog.example.com и несколько блогов в таких подпапках, как blog.example.com/userA? Ограничить доступ к xmlrpc.php Как получить URL-адрес персонализированного изображения по вашему желанию? Разрешить переменное количество комментариев перед разбиением на страницы Вызов функции-члена x () на null, но метод можно вызвать только путем создания экземпляра класса Запрос на первые 3 сообщения, чтобы изменить внешний вид Проверить возвращаемое значение get_posts Как перепроектировать загрузчик фонового изображения Twenty Eleven? Остановите плагин в процессе активации, когда некоторая версия WP не будет выполнена, а затем сообщите об ошибке в admin_notices action hook Используйте wp_remote_get для добавления изображения в медиа-библиотеку Слишком много вложенных циклов wp_query в этом гипотетическом запросе? Возьмите сохраненные адреса электронной почты из пользовательского типа сообщений и перейдите в одну строку

Настройте меню, добавив элементы

Мне нужно отобразить простое меню, подобное этому:

<nav class="main"> <a href="/" class="home"> <span class="logo"></span> <span class="company-name">My Company</span> <span class="page-name">Home</span> </a> <a href="one-page">One page</a> <a href="two-page" class="selected-current">Two page</a> <a href="three-page">Three page</a> <a href="about">About</a> <div class="account"> <a href="login" class="login">Login</a> </div> 

Для этого я продолжаю так:

/theme/function.php

 <?php // Adding Log in/out links to a Specific WordPress Menu add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 ); function add_loginout_link( $items, $args ) { if (is_user_logged_in() && $args->theme_location == 'primary') { $items .= '<div class="account"><a href="'. wp_logout_url() .'" class="login">Logout</a></div>'; } elseif (!is_user_logged_in() && $args->theme_location == 'primary') { $items .= '<div class="account"><a href="'. site_url('wp-login.php') .'" class="login">Login</a></div>'; } return $items; } 

/theme/header.php

 <nav class="main"><?php $menuParameters = array( 'theme_location' => 'primary', 'fallback_cb' => 'starkers_menu', 'container' => false, 'echo' => false, 'items_wrap' => '%3$s', 'depth' => 0, ); echo strip_tags(wp_nav_menu( $menuParameters ), '<a><div>' ); ?></nav> 

Я не могу управлять страницами классов для текущего и тегов (span) для первого URL (дома).

Спасибо заранее за вашу помощь.

сердечно

Solutions Collecting From Web of "Настройте меню, добавив элементы"

Для этого вам необходимо расширить класс Walker_Nav_Menu .

Сначала создайте класс, который расширяет Walker_Nav_Menu

 /** * Custom nav menu. * Code copy-pasted from /wp-includes/nav-menu-template.php * * @package WordPress * @since 3.0.0 * @uses Walker_Nav_Menu */ class User16975_Custom_Menu_Walker extends Walker_Nav_Menu { /** * @see Walker_Nav_Menu::start_lvl() * @since 3.0.0 * * @param string $output Passed by reference. */ function start_lvl(&$output) {} /** * @see Walker_Nav_Menu::end_lvl() * @since 3.0.0 * * @param string $output Passed by reference. */ function end_lvl(&$output) { } /** * @see Walker::start_el() * @since 3.0.0 * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param object $args */ function start_el(&$output, $item, $depth, $args) { } } 

Затем start_el функцию start_el соответствующую вашим потребностям.

Наконец, заставьте WP использовать ваш класс вместо стандартного:

 add_filter( 'wp_edit_nav_menu_walker', 'user16975_walker_class'); function user16975_walker_class($class){ return "User16975_Custom_Menu_Walker"; } 

Вы также можете реализовать end_lvl в своем классе, чтобы добавить ссылку для входа.