#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, но стандартный интерфейс администратора WP не имеет смысла во многих контекстах, в которых он нам нужен, поэтому наш интерфейс (незавершенная работа) выглядит так, и все это обрабатывается обязательным плагином и не затрагивает абсолютно никаких основных файлов, он просто использует хитрые манипуляции с крючками и фильтрами, доступными во всем WordPress
Комментарии:
1. Вы удивительны. СПАСИБО за ваш вклад в это.
2. Добро пожаловать! Если вам нужна дополнительная информация, не стесняйтесь отправлять мне сообщение через мой веб-сайт: xhynk.com — но этих 3 функций должно быть достаточно, по крайней мере, для начала!