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

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

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

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

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

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

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

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

References, v1.2

Август 18, 2019 г.

Небольшое обновление для API WP плагина References. Я добавил обратную функцию к REFShraAPI::get - которую назвал REFShraAPI::find. Новая статическая функция позволяет искать публикации, к которым прикреплена указанная статья. [crayon-6a99f02397f62378616771/] ...

Читать

Добавляем админа wordpress, имея доступ к базе данных

Октябрь 20, 2016 г.

Для админов может быть полезно, как создать пользователя с админскими правами для сайта под Wordpress, имея доступ только к базе данных. Это может быть ...

Читать

Обновление Alpha Cache до 1.1.005

Февраль 6, 2016 г.

Разобрался как добавлять к своим плагинам иконки и картинки в описаниях на wordpress.org. Замостырил вот такой баннер для Альфа-Кеша. Но обновление, конечно, ...

Читать

Установка Wordpress через composer

Апрель 3, 2023 г.

WP так то и сам хорошо управляется с модулями и темами. Вы можете установить модули/темы через админку. Единственный не удобный момент - это первоначальное ...

Читать
 

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

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



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