Как отключить предпросмотр в виджете Wordpress?
Хочу на странице управления виджетами в окне предпросмотра вывести, что предпросмотр для данного недоступен. В документации по ссылке есть такой пример:
class ExampleWidget extends WP_Widget {
...
public function widget( $instance ) {
if ( ! isset( $instance['name'] ) ) {
// Name is required, so display nothing if we don't have it.
return;
}
?>
<h3>Name: <?php echo esc_html( $instance['name'] ); ?></h3>
...
<?php
}
...
}
Однако, в этом случае, на фронте так же не выводится содержимое виджета. Если код видоизменить на примерно так:
class ExampleWidget extends WP_Widget {
...
public function widget( $instance ) {
if(is_admin()){
unset($instance['test']);
} else {
$instance['test'] = 'test';
}
if ( ! isset( $instance['test'] ) ) {
// Name is required, so display nothing if we don't have it.
return;
}
?>
<h3>Name: <?php echo esc_html( $instance['test'] ); ?></h3>
...
<?php
}
...
}
то на странице предпросмотра не выводится ничего — ни содержимого виджета, ни уведомления о недоступности просмотра.
В общем, как вывести что предпросмотр недоступен? Хочу получить вот такое:

Ответы (1 шт):
Автор решения: lezhni
→ Ссылка
Достаточно просто проверить присутствие в админпанели:
class ExampleWidget extends WP_Widget {
...
public function widget( $instance ) {
if ( is_admin() ) {
return;
}
?>
<h3>Name: <?php echo esc_html( $instance['name'] ); ?></h3>
...
<?php
}
...
}