Intereting Posts
Вложенные функции shortCode в файле functions.php Объединить / объединить две функции php для предыдущей и следующей ссылки с миниатюрой Предупреждение: call_user_func_array () Как отображать отмеченные сообщения на другой странице через AJAX? (например, стиль сравнения) Несколько циклов на странице показывают только имя таксономии первого цикла Как группировать сообщения и просматривать смешанные сообщения и группы? приглашение людей в блог и редактирование ролей Изменить HTML Создано wp_list_comments () Пользовательская структура Permalink с пользовательскими типами сообщений с использованием пользовательских таксономий контактная информация 7 коротких кодов базы данных Как получить список популярных плагинов с помощью WordPress.org Plugin API? Создание «разделов» меню и палитры «в WordPress 3» используется как CMS Как я могу полностью скрыть термин таксономии от «frontend»? Как разместить свою форму комментариев над комментариями? Должны ли постоянные ссылки всегда указывать на отдельные страницы?

Динамические ссылки меню после заголовка заголовка

Я использую тему Parabola WordPress, и я бы хотел отобразить несколько динамических ссылок меню для зарегистрированных пользователей, только справа от заголовка. Как показано на рисунке ниже, ссылки в меню 1 и меню 2 должны размещаться справа от заголовка заголовка.

введите описание изображения здесь

Какой был бы лучший подход для этого? Я не предпочитаю плагин, но вместо этого хочу использовать теги темы, потому что, когда тема меняется, я могу просто написать крючок для достижения той же функциональности. Пожалуйста, предложите, где мне изменить код или какие новые функции мне нужно написать.

РЕДАКТИРОВАТЬ:

Я хотел бы сохранить главное меню так, как есть. Мне нужны только специальные ссылки меню после заголовка заголовка.

Если ваша тема включает заголовок заголовка, вы можете просто подключить новый виджет в этой области и включить условный тег для входа в систему, который отображает только пользовательский виджет меню со ссылками, которые вы хотите.

<?php if ( is_user_logged_in() ) { wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) ); } else { wp_nav_menu( array( 'theme_location' => 'logged-out-menu' ) ); } ?> 

Вы можете использовать этот код выше непосредственно в вашем файле header.php или удалить теги PHP и включить его в пользовательскую функцию с вашими конкретными крючками (если есть) и использовать ее в файле функций ваших дочерних тем.

Другим вариантом является создание новой области виджета и использование видимости виджетов или другого условного виджета, который позволяет вам добавить условное выражение непосредственно к виджету.

Если вы можете указать заголовок заголовка темы, я могу предоставить код для создания новой области виджетов.

Источник http://codex.wordpress.org/Function_Reference/wp_nav_menu

 function wpsites_register_header_widget() { register_sidebar( array( 'name' => 'Header Widget', 'id' => 'header-widget', 'before_widget' => '<div>', 'after_widget' => '</div>', ) ); } add_action( 'widgets_init', 'wpsites_register_header_widget' ); add_filter( 'your_themes_header_hook', 'wpsites_header_widget' ); function wpsites_header_widget() { if ( is_user_logged_in() && is_active_sidebar( 'header-widget' ) ) { dynamic_sidebar('header-widget', array( 'before' => '<div class="header-widget">', 'after' => '</div>', ) ); } } 

Перетащите пользовательский виджет меню и настройте его.

Создайте свое меню в admin и after_login, замените имя вашего меню:

 <?php if (is_user_logged_in() ) { ?> <?php wp_nav_menu( array('menu'=>'after_login','menu_class' => 'mainmenu' ) ); ?> <?php }?> if( current_user_can( 'administrator' ) ){} // only if administrator if( current_user_can( 'editor' ) ){} // only if editor if( current_user_can( 'author' ) ){} // only if author if( current_user_can( 'contributor' ) ){} // only if contributor if( current_user_can( 'subscriber' ) ){} // only if subscriber Or: if( current_user_can( 'level_10' ) ){} if( current_user_can( 'level_9' ) ){} if( current_user_can( 'level_8' ) ){} if( current_user_can( 'level_7' ) ){} if( current_user_can( 'level_6' ) ){} if( current_user_can( 'level_5' ) ){} if( current_user_can( 'level_4' ) ){} if( current_user_can( 'level_3' ) ){} if( current_user_can( 'level_2' ) ){} if( current_user_can( 'level_1' ) ){} if( current_user_can( 'level_0' ) ){}