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

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

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

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

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

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

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

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

Отключаем архивы в wordpress

Апрель 8, 2017 г.

Wordpress, хотим ли мы того или нет, поддерживает работу специальных лент, которые называются архивами. Есть архивы по годам, месяцам и даже конкретным дням. Также поддерживаются ленты (архивы) по терминам таксономии (метки, теги, категории и т.п.). ...

Читать

Иерархия шаблонов в WordPress

Март 23, 2017 г.

Шаблоны в рамках темы Wordpress, как и во многих других CMS, имеют строго определенную иерархию. Что это означает на практике? Когда WP требуется определить ...

Читать

Contact Form 7 - добавим галочку на согласие по обработке персональных данных

Июль 21, 2017 г.

Вступившие в силу поправки (с 01.07.2017) федерального закона ФЗ 152 "О защите персональных данных" требуют, чтобы владельцы сайтов информировали пользователя ...

Читать

References, v1.2

Август 18, 2019 г.

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

Читать
 

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

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



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