Левая навигация WordPress

#wordpress #custom-controls

#wordpress #пользовательские элементы управления

Вопрос:

Это может быть странный вопрос. Я работаю над сайтом, который кто-то другой создал на WordPress. Мое понимание левой навигации на панели инструментов заключается в том, что при установке есть некоторые элементы по умолчанию, такие как [страницы], [сообщения], [плагины], и чтобы здесь отображались дополнительные элементы, вам нужно установить новый плагин.

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

На самом деле, похоже, что они использовали плагин «Расширенные пользовательские поля» для создания собственной функциональности, чтобы их пользователи могли легко добавлять / удалять членов команды с помощью специально созданного слайдера.

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

Заранее благодарю вас.

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

Ответ №1:

Я предварю это словами:

Никогда, никогда не изменяйте основные файлы!

Фух! Теперь, когда с этим покончено, может быть несколько плагинов, которые делают это за вас, но я в конечном счете не знаком ни с одним. Типичный способ добавления элементов администратора — с помощью функций add_menu_page() и add_submenu_page() . Они относительно просты в использовании.

Кроме того, в качестве дополнительного примечания, когда вы добавляете пользовательский тип записи с register_post_type() помощью (например, то, что делает ACF), есть варианты добавления его в меню, а также то, какими вы хотите видеть ярлыки и названия меню.

Если вы добавляете пользовательский тип записи (например, члены команды, книги и т.д.), Вы почти наверняка захотите использовать аргументы labels и show_in_menu при вызове register_post_type() , чтобы отобразить меню администратора. Однако, если вам нужно ссылаться на произвольные URL-адреса или пользовательские страницы панели мониторинга, вы захотите воспользоваться add_menu/submenu_page функциями, описанными выше.

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

 function stack_overflow_admin_link(){
    echo '<script>window.location.href = 'https://stackoverflow.com'; </script>';
}

add_menu_page( 'Stack Overflow', 'Stack Overflow', 'subscriber', 'stack-overflow', 'stack_overflow_admin_link', 'dashicons-external' );
  

Надеюсь, это поможет!

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

В качестве примера взгляните на этот снимок экрана:

Реструктуризация WordPress

В настоящее время я перестраиваю программный пакет с нуля, используя WordPress, но стандартный интерфейс администратора WP не имеет смысла во многих контекстах, в которых он нам нужен, поэтому наш интерфейс (незавершенная работа) выглядит так, и все это обрабатывается обязательным плагином и не затрагивает абсолютно никаких основных файлов, он просто использует хитрые манипуляции с крючками и фильтрами, доступными во всем WordPress

Комментарии:

1. Вы удивительны. СПАСИБО за ваш вклад в это.

2. Добро пожаловать! Если вам нужна дополнительная информация, не стесняйтесь отправлять мне сообщение через мой веб-сайт: xhynk.com — но этих 3 функций должно быть достаточно, по крайней мере, для начала!