Когда в WordPress 3.0 была выпущена система меню навигации, это стало одним из факторов, превративших WordPress из платформы для ведения блогов в мощную CMS.
Это означало, что вы могли добавлять любой контент в меню навигации вашего сайта, включая настраиваемые ссылки. Интерфейс «перетаскивания» означал, что любой мог создать свое собственное меню без каких-либо навыков программирования.
Но иногда на это не хочется полагаться. Если вы разрабатываете веб-сайт для клиента, который собирается добавлять страницы на свой веб-сайт, он вряд ли обновит меню (я) навигации, если у него есть или не хватает навыков. .
Так что здесь вам пригодится меню автоматической навигации.
В этом уроке я покажу вам, как создать автоматизированное меню навигации, которое отображает все страницы вашего сайта, а также дочерние страницы, отображаемые в виде записей второго уровня в меню навигации.
Затем вы можете добавить этот код в заголовок страницы, боковую панель или нижний колонтитул вашей темы, если хотите, и это покажет вашим пользователям ссылки, которые автоматически обновляются, когда на ваш сайт добавляется новый контент.
Но, если вы никогда не устанавливали WordPress, откройте для себя Как установить WordPress блог шаги 7 et Как найти, установить и активировать WordPress тему на своем блоге
Тогда вернемся к тому, почему мы здесь.
Вот что вам нужно для автоматизации меню навигации WordPress:
- Разработка или тестовая установка WordPress с добавлением нескольких страниц и подстраниц
- Редактор кода.
Установка кода
Я добавлю этот код в плагин, чтобы он был постоянным, даже если я изменю тему WordPress. Таким образом, я могу добавить функцию моего плагина в мою тему, чтобы добавить меню навигации, где я хочу. Если ваша тема WordPress имеет " крючки Вы можете использовать один или несколько, чтобы ввести этот код.
Также смотрите наш список 10 WordPress плагины для создания обратного отсчета
Если вы работаете со сторонней темой WordPress, в которой нет хуков, вам нужно будет добавить код в тему. Не вводите код прямо в тему: вместо этого создайте дочернюю тему и добавьте к ней свой код. Просто создайте копию файла шаблона темы из основной темы, которую вы хотите отредактировать, добавьте ее в свою дочернюю тему и отредактируйте.
первый шаг
Первым шагом является создание плагина. Я создаю папку в сор-контента / плагины ". Создание папки означает, что в будущем я могу добавлять в плагин дополнительные файлы, например, таблицу стилей или включаемые файлы.
Во-первых, вам нужно добавить в комментарии код входа для вашего плагина, чтобы сообщить WordPress, что это такое:
<?php
/**
* Plugin Name: Plugin
* Plugin URI: http://blogpascher.com
* Description: Plugin WordPress
* Version: 1.0
* Author: Herve
* Author URI: http://blogpascher.com
*
*/
Теперь активировать плагин.
Затем, если вы используете дочернюю тему, настройте ее. Я использую дочернюю тему из темы Twenty Seventeen - вот моя таблица стилей:
<?php
/**
* Plugin Name: Plugin
* Plugin URI: http://blogpascher.com
* Description: Plugin WordPress
* Version: 1.0
* Author: Herve
* Author URI: http://blogpascher.com
*
*/
@import url( " ../twentyseventeen/style.css " );
Как только вы это сделаете, если на вашем веб-сайте еще нет страниц, добавьте несколько. Они должны иметь структуру на нескольких уровнях. Вот как выглядят мои поддельные страницы:
Теперь давайте начнем добавлять код в плагин.
Создайте функцию для иерархического перечисления всех страниц
Мы будем использовать функцию « wp_list_pages () Получить все страницы и перечислить их со ссылками. Но сначала нам нужно определить некоторые аргументы в его пользу. Начните с создания вашей функции и добавьте эти аргументы:
wpmu_list_pages () {wpmu_list_pages () {$ args = массив ('глубина' => 2); }
Аргументы очень простые - есть только один для того уровня страниц, который мы хотим сделать. Установка «2» означает, что будут отображаться страницы верхнего уровня и их подстраницы, но не более того.
Откройте для себя 5 соединения часто встречающиеся ошибки и способы их решения на WordPress
Теперь давайте добавим функцию wp_list_pages () после аргументов:
wp_list_pages ($ арг);
Вот полная функция:
wpmu_list_pages () {wpmu_list_pages () {$ args = массив ('глубина' => 2); wp_list_pages ($ args); }
Добавление функции в тему
На данный момент на моем сайте функция ничего не показывает. Чтобы изменить это, нам нужно добавить копию заголовка основной темы в дочернюю тему и отредактировать ее.
См. Также: Как защитить вашу работу WordPress на клиентских сайтах
Начните с копирования файла заголовка в дочернюю тему и откройте его. В Twenty Seventeen код меню навигации можно найти в " templates-parts / navigation / navigation-top.php Это означает, что мне нужно добавить копию этого файла в то же место в моей дочерней теме.
Откройте для себя идти дальше Как установить WordPress тема ребенка
В вашей теме это может быть файл header.php это должно быть скопировано.
В зависимости от вашей темы код меню будет отличаться. В том, который я использую, мне нужно заменить этот код:
'top', 'menu_id' => 'top-menu',)); ?>
Измените код вашего меню навигации, чтобы добавить новую функцию с существующим кодом в объявлении "else {}":
'top', 'menu_id' => 'top-menu',)); }?>
Условные операторы важны: во-первых, он проверяет, присутствует ли функция, которую вы добавили в свой плагин (т.е. если плагин активирован), и если это так, он выполняет функцию от этого. В остальном работает нормально.
Смотрите также наше руководство по Как отображать рекламные блоки на WordPress
Теперь посмотрите на мой сайт:
Ссылки появляются, но есть некоторые проблемы. Я не хочу, чтобы "Страницы" отображались вверху (по умолчанию для функции wp_list_pages () ) и я хочу упорядочить страницы более эффективно. Вы увидите, что домашняя страница находится в середине списка, что не идеально.
Улучшить функцию
Давайте вернемся к коду плагина и адаптируем его, чтобы исправить эти проблемы.
Найдите аргументы, для которых вы уже определились wp_list_pages ():
$ args = массив ('глубина' => 2);
И отредактируйте это:
$ args = массив ($ args = array ('depth' => 2, 'title_li' => ' '. __ ('Меню', 'bpc'). ' ',' sort_column '=>' порядок меню ');
Это добавляет два дополнительных аргумента:
- Разметка перед списком, который сейчас говорит Меню Вместо Разделы .
- Порядок отображения страниц.
Вы должны вернуться к экранам редактирования ваших страниц и определить порядок страниц для каждой из них. Установите для своей домашней страницы значение «0», а другие страницы верхнего уровня будут иметь более высокий уровень, чем это.
Также прочитайте наше руководство на : Как постепенно загружать комментарии Facebook и Disqus
Теперь, когда вы отображаете меню, оно будет выглядеть так:
Вы также можете изменить порядок меню страниц второго уровня. Это никогда не будет отображаться над страницами верхнего уровня, поэтому вы можете начать с 0 или 1 для каждого набора подстраниц.
Откройте для себя также несколько премиальных плагинов WordPress
Вы можете использовать другие WordPress плагины придать современный вид и оптимизировать подключение к вашему блогу или веб-сайту.
Мы предлагаем вам несколько премиальных плагинов WordPress, которые помогут вам сделать это.
1. Гравитация Формы
Как владелец бизнеса, предоставление клиентам возможности связаться с вами должно быть вашим приоритетом. Гравитация формы является плагином Контактная форма самый популярный на WordPress.
Вы можете использовать это для создать любой тип формы, например форма предложения, опросы и многое другое.
скачать | Демонстрация | веб-хостинг
2. eForm
eForm - это продвинутый и гибкий конструктор форм, который можно интегрировать в существующий веб-сайт WordPress. Это полное решение для управления формами. Это касается, среди прочего, викторин, опросов, сбора данных, оценки платежей и комментариев пользователей.
С помощью такого дизайнера форм вы можете создавать формы неограниченным образом и управлять ими со своей панели инструментов. Все запросы хранятся в вашей базе данных, вы сможете просматривать, отслеживать, анализировать и обрабатывать данные, которые вы сохранили.
Читайте также нашу статью о Как содержание маркетинга влияет на SEO вашего блога
Кроме того, пользовательский портал позволяет зарегистрированным пользователям также просматривать и отслеживать свои запросы.
скачать | Демонстрация | веб-хостинг
3. Mailster
Мейлстер — это Плагин Wordpress простая в использовании надбавка, которая поможет вам интегрировать информационный бюллетень на ваш сайт. С последним вы сможете создавать, отправлять и отслеживать свои кампании без особых хлопот.
Его основными функциями являются: возможность отслеживать открытые электронные письма, клики, подписки и показатели отказов, возможность нацеливать свои кампании, управление кампаниями и планирование, поддержка 6 типов автоответчиков, неограниченное создание регистрационные формы, удобный интерфейс, настройка фона, поддержка многоязычностиИ многое другое.
скачать | Демонстрация | веб-хостинг
Рекомендуемые ресурсы
Узнайте о других рекомендуемых ресурсах, которые помогут вам создать и управлять своим сайтом.
- 8 WordPress плагины для создания мегаменю в вашем блоге
- Как отобразить последние статьи на WordPress
- Как создать слайд-шоу с помощью Slider Revolution на WordPress
- Как отображать рекламные блоки на WordPress
Заключение
Вот! Это все для этого урока, я надеюсь, что оно позволит вам автоматически добавлять страницы в ваши меню. Если у вас есть какие-либо проблемы или предложения в этой области, давайте окажемся в раздел комментариев для обсуждения.
Однако вы также сможете ознакомиться с нашими Ressources, если вам нужно больше элементов для реализации ваших проектов создания интернет-сайтов, обратитесь к нашему руководству по Создание блога на WordPress или Divi: лучшая тема WordPress всех времен.
Но тем временем поделитесь этой статьей в разных социальных сетях.
...
Привет,
Спасибо за статью
Моя проблема в том, что я не совсем понимаю процедуру, которой нужно следовать в части «Добавление функции в тему», нужно ли мне напрямую изменять файл «navigation-top.php»? Должен ли я продублировать его в своей дочерней теме? Должен ли я изменить указанную часть и добавить ее в свой файл function.php?
Или другое решение x)
Спасибо, что разъяснили мне суть
PS: ссылка github приводит нас к пустой директории
Добрый вечер, действительно речь идет о дублировании файла в дочерней теме. Об остальном позаботится WordPress. Потому что он попытается проверить, существует ли файл в дочерней теме и, следовательно, загрузит файл родительской темы, если он не существует.