Поддержка Проблемы и решения Как вывести в виджетах ‘no preview’?

  • Хочу на странице управления виджетами в окне предпросмотра вывести, что предпросмотр недоступен.
    В документации есть такой пример:

    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
        }
        ...
    }

    https://developer.wordpress.org/block-editor/how-to-guides/widgets/legacy-widget-block/#displaying-no-preview-available
    Однако, в этом случае, на фронте так же не выводится содержимое виджета.
    Если код видоизменить примерно так:

    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
        }
        ...
    }

    то на странице предпросмотра не выводится ничего — ни содержимого виджета, ни уведомления о недоступности просмотра.
    В общем, как вывести что предпросмотр недоступен?

  • Тема «Как вывести в виджетах ‘no preview’?» закрыта для новых ответов.