WordPress левая навигация - PullRequest
0 голосов
/ 24 апреля 2019

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

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

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

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

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

enter image description here

1 Ответ

1 голос
/ 24 апреля 2019

Я предвосхищу это словами:

Никогда не изменяйте Core Files!

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

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

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

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

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 относительно хорошо продуман и имеет бесчисленные Action Hooks и Filters , которые позволяют вводить, изменять, удалять и иным образом манипулировать данными и пользовательским интерфейсом, даже не затрагивая основные файлы.

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

Restructuring WordPress

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

...