Arhn - архитектура программирования

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

Я использую тему OceanWP для создания своего сайта.

У меня есть два разных меню на моей домашней странице, у меня есть верхнее меню, а также главное меню. http://prntscr.com/pofn5r

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

Я использовал следующий код, который я поместил в файл functions.php. Я также создал два разных меню для вошедших и вышедших из системы пользователей:

function my_wp_nav_menu_args( $args = '' ) {

if( is_user_logged_in() ) { 
    $args['menu'] = 'logged_in';
} else { 
    $args['menu'] = 'logged_out';
} 
    return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

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

prntscr.com/podv5e

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

Я размышлял, есть ли способ настроить код так, чтобы он применялся только к верхнему меню, а не к главному меню?


  • Похоже, тот же код и тот же вопрос, что и несколько лет назад: два разных меню для двух разных мест">wordpress.stackexchange.com/questions/208893/ 26.10.2019

Ответы:


1

Вы можете сделать что-то вроде:

function my_wp_nav_menu_args( $args = '' ) {

if( is_user_logged_in() ) { 
    echo "Here you put HTML code when logged in";
} else { 
    echo "Here you put HTML code when logged out"
} 
}

поскольку эхо будет работать так, как будто оно написано непосредственно в HTML

26.10.2019
  • Код не OP, а заимствован из примера. Он понятия не имеет, как ответить на ваше предложение. 26.10.2019
  • Привет, Тимо, спасибо тебе за это. На самом деле код, который я использую, работает нормально, но проблема заключается в том, что главное меню, которое находится под верхним меню, также отражает верхнее меню. Я только хотел, чтобы верхнее меню менялось в зависимости от того, вошел ли пользователь в систему или вышел из нее, но хотел, чтобы главное меню оставалось неизменным в любом случае: prntscr.com/pogjjd . Любая идея, как я могу отредактировать код, чтобы менялось только верхнее меню, а главное меню не затрагивалось? 26.10.2019
  • На самом деле вы используете только HTML-код верхнего меню, а не все меню. Также поможет дополнительная информация с вашим собственным кодом. 26.10.2019
  • А, понятно. Я немного новичок в этом. Я не уверен, где найти HTML для верхнего меню. Вот что я вижу в Firefox: prntscr.com/pohp3a. Будет ли это что-то из этого? Код, который я использую, был передан мне другим пользователем на другой вопрос, который я задал ранее. Какая информация вам понадобится о коде? 26.10.2019
  • Я хотел знать, какие изменения вносит php-код в HTML верхнего меню. Судя по всему, верхнее меню и главное меню как-то связаны и их нужно делать отдельно. Это может быть какая-то переменная, которая одновременно относится к верхнему меню и главному меню. Затем изменение вашего кода повлияет на эту переменную, которая влияет как на верхнее, так и на главное меню. Но я также могу ошибаться, и этот вопрос действительно загадка :/ 26.10.2019
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..