Intereting Posts
Получение данных тегов в теле сообщения Почему я получаю домашнюю страницу WAMP при нажатии на URL определенного сайта на LocalHost? Theme Customizer – Моя панель исчезает Консолидация контента в 20-й теме Как получить информацию о фиде из кеша, а не напрямую из фида? Дашикон не отображается для меню администратора Как выполнить цикл пользователя с помощью короткого кода Меню вторичной навигации на одной странице Как фильтровать get_the_excerpt (), но сохранить все его функциональные возможности? Как я могу добавить js и css-файл моей настраиваемой темы динамически в header.php Не удается войти в WordPress, нет данных, полученных с ошибкой wp_nav_menu список детей, если на родительской странице, но родной, если на странице родного брата Как создать страницу wordpress, показывающую сообщения с определенными тегами? Почему wp_get_attachment_image не включает «полный» размер в srcset? Страницы архива таксономии не имеют сообщений

Каков правильный способ поддержки темы для пользовательских интерфейсов плагина?

Например, если мой плагин создает форму на странице, что я могу сделать, чтобы сделать так же легко, чтобы разработчики темы могли накрывать форму?

Solutions Collecting From Web of "Каков правильный способ поддержки темы для пользовательских интерфейсов плагина?"

Прежде всего, создайте хорошо сформированную форму HTML по умолчанию . Используйте <label> , <fieldset> и <legend> где это необходимо. Эта разметка обеспечивает хорошую структуру для стилизации CSS. Добавление некоторых классов CSS также может помочь.

Предоставьте фильтр, который позволяет разработчикам настраивать форму по умолчанию.

Чтобы продвинуться дальше, вы можете разрешить разработчикам полностью переписать вывод формы по своему усмотрению, разрешив им предоставлять файл шаблона пользовательской формы в теме.

 if ($custom_form = locate_template('plugin_form.php')) { // Load custom form include $custom_form; } else { // Default form with filter $form = '<form><!-- Default HTML --></form>'; $form = apply_filters('pluginprefix_form_output', $form); echo $form; } 

Посмотрите на get_search_form() в wp-includes/general-template.php для хорошего примера аналогичной реализации.

В общем, меньше – больше, т. Е. Не стиляйте, кроме добавления стандартных классов WP. Если ваш плагин будет смешаться, он должен выглядеть как все остальное.

Однако, если у вас есть достаточные основания полагать, что вывод вашего плагина должен быть оформлен иначе, чем остальная часть сайта (т. Е. Если вы добавите отдельную визуальную функцию), вы можете добавить – помимо стандартных классов – свои собственные имена классов элементы, которые вы создаете. Придерживайтесь как можно меньшего количества классов как можно выше в иерархии, например,

 <div style="am01_div"> <ul> <li>Test</li> </ul> </div> 

Это лучше чем

 <div style="am01_div"> <ul style="am01_ul"> <li style="am01_li">Test</li> </ul> </div> 

Затем пользователи могут создать дочернюю тему своей основной темы, в CSS которой они могут добавить информацию о стилях для ваших элементов.

(Я на самом деле привык думать, что плагины должны предоставлять варианты для стилизации своего вывода, но я передумал. Разделение проблем должно быть применено здесь: вы создаете (разумный) вывод, стиль пользователей, если они захотят.)