Главная
Wordpress
Как добавить в начало меню ссылку на главную WordPress
  • 430
  • 0
  • Рубрика: Wordpress

Как добавить в начало меню ссылку на главную WordPress

Как добавить в начало меню ссылку на главную WordPress

Доброго времени суток. 🙂

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

Идея заключается в том, чтобы добавить начало любого меню, в основном это меню в шапке сайта, ссылку на главную страницу. Многие могут сказать, что в этом нет ничего сложного, нужно просто в админке, в меню добавить произвольную ссылку, которую и сделать ссылкой на главную. Что тут сложного то? В таком способе ничего, но у него есть один маленький минус - циклическая ссылка.

Циклическая ссылка - это ссылка, которая ведет посетителя страницы что на нее нажал, на ту же самую страницу. То есть замкнутый круг. При нажатии на ссылку, вы опять попадете на ту же страницу на которой были.

Такие ссылки не очень полезны, если вы занимаетесь оптимизацией своего сайта. А появляются они, если просто добавить произвольную ссылку, потому, что на главной странице - пункт меню ГЛАВНАЯ, всеравно будет отображаться. Ведь даже по логике это не правильно. Зачем на главной странице ссылка на главную? Именно для решения этой задачи и понадобится тот материал, что я опишу снизу.

В итоге задача стоит в том, что ссылка на главную должна присутствовать на всех страницах кроме главной. То есть, автоматически исчезать из меню, когда посетитель сайта находится на главной странице. Теперь перейдем от теории к практики.

Чаще всего меню располагается в шапке сайта, а именно в файле - header.php. У вас может быть в другом, если вы занимаетесь своей темой, то должны знать, если нет, то придется поискать. Код отвечающий за вывод меню. чаще всего выглядит примерно так:

<?php wp_nav_menu( array( 'theme_location' => 'top-menu' ) ); ?>

В моем примере, меню имеет название - top-menu, у вас оно может иметь совсем другое название. Его нужно сохранить, запомнить, оно нам пригодится.

Вам нужно этот код меню заменить новым:

<?php
$args = array('theme_location' => 'top-menu','echo' => 0 );
$menu = wp_nav_menu( $args );
if(!is_front_page())
$menu = preg_replace('~<li~', '<li><a href="'.home_url().'" title="На главную">Главная</a></li><li', $menu, 1 );
echo $menu; 
?>

Давайте разберем наш код, каков принцип его работы и за что отвечают его строки.

  • $args = array('theme_location' => 'top-menu','echo' => 0 ); - настраиваем наш массив. Указывая, какое меню мы будем использовать. Как видите, мы указали все то же top-menu.
  • $menu = wp_nav_menu( $args ); - далее мы создаем переменную $menu, которой присваиваем функцию вывода меню wp_nav_menu, для которой мы и настраивали массив $args.
  • if(!is_front_page()) - добавляем условие, которое устанавливает правило - Если это не главная страница, то....
  • 4 строка - вновь задается переменная $menu, которая настраивается следующим образом. С помощью preg_replace - выполняем поиск и замену. Таким образом, в наше меню, что является по сути UL списком, первой строкой добавляем новую:
    <li><a href=&quot;'.home_url().'&quot; title=&quot;На главную&quot;>Главная</a></li>

    Эта строка и есть ссылкой на главную. С помощью функции home_url() и формируется ссылка. Можете изменить название ссылки - Главная на свое.
  • echo $menu; - вывод нашей переменной $menu. Эта строка, в зависимости от условия и выводит нам на главной странице стандартное меню, заданное во второй строке кода. Или если это любая внутренняя страница, то сработает уже переменная заданная в 4 строке кода.

Для тех, кто открыл для себя WordPress не вчера, сложного ничего не будет. Все довольно просто и понятно. При наличии прямых рук и хорошей фантазии, можно применить данный код для добавления в меню других ссылок. Указать другое условие и тд.

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

На этом все, спасибо за внимание. 🙂




Если Вам был полезным мой труд, можете поддержать сайт :)


Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 4, в среднем: 5 из 5

Добавить комментарий

Заполните поля ниже. Ваш e-mail не будет опубликован. Обязательные поля помечены *

Уважаемые пользователи! При добавлении комментариев на сайт Вам следует соблюдать правила указанные под формой отправки комментариев.

Соблюдайте добавления комментариев

Это не спам *

Нажмите, чтобы добавить код в комментарий
X

Привет дорогой друг

У тебя установлено расширение AdBlock или подобное. Добавь мой сайт в белый список, и тем самым внесешь свой вклад в его развитие. Инструкция как отключить AdBlock Хочу такое же окошко