Как разделить рендеринг WP_Widget для front и back-end?

Метод widget, который реализуется для отрисовки содержимого виджета вызывается одинаково для фронта и бек-енда. Но, если вы не утруждаете себя созданием необходимых для рендеринга на бек-енде стилей, то результат не похож, на то что вы увидите на фронте.

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

У класса WP_Widget есть метод WP_Widget::is_preview(), но он почему то не решает задачу, для которой его написали. Возможно, это исправят.

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

Отладка показывает, что метод widget() для рендеринга вашего виджета вызывается многократно при вызове предпросмотра в админке. И часть этих запросов действительно купируются проверкой is_admin(), но не все.

Вот эти оставшиеся запросы идут через endpoint — /wp-json/wp/…, что мы и будем проверять. В общем виде это выглядит так:

Мало букафф? Читайте есчо !

Бесконечные редиректы на WP сайте после включения HTTPS

Ноябрь 27, 2024 г.

Если сайт находится за неким прокси, который реализует SSL, а на веб-сервере при этом не настроен HTTPS протокол, то WP может начать бесконечный цикл переадресаций. Начинается это сразу после изменения URL домашней страницы в админке. Анамнез ...

Читать

Wordpress, Яндекс и другие. Штрихи SEO.

Март 29, 2010 г.

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

Читать

Обновление Inactive User Deleter - v 1.2

Март 29, 2017 г.

Взявшись за переделку собственных плагинов, я нашел время для обновления ещё одной своей древней поделки. Это был первый плагин, который я вообще делал для WP. Я собирал его только лишь с учебными целями - хотел сделать какой-то плагин и разместить его ...

Читать

Добавление сайдбара в виде блочного шаблона в WP

Февраль 20, 2023 г.

С появлением Гутенберга (Gutenberg), микрошаблоны вышли на новый уровень. Посмотрим пример создания собственного микрошаблона и вставки его в шаблон. Начать надо с регистрации сайдбара, для этого вставим в functions.php темы следующий код: [crayon-6942c493a4c04455895411/] ...

Читать
 

Комментарии к «Как разделить рендеринг WP_Widget для front и back-end?»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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