Intereting Posts
Отображение выделенного кода синтаксиса Добавьте флажок, чтобы добавить экран в список, который добавляет класс в заголовок Изменение wp-config.php сломало сайт Почему мой str_replace не работает над коротким кодом, представленным интерфейсом? ModSecurity && Admin Ajax: блокировка сервера Формат содержимого содержимого из базы данных вне фильтров WordPress Изменить формулировку опций Клонирование блога WordPress .. проблема с wp-admin Отобразить все пользовательские термины таксономии и их соответствующие пользовательские сообщения удалить и отключить ссылку на изображение в functions.php Понимание конкретного кода Отключить фиды для определенных пользовательских типов сообщений Удаление методов контакта с пользователем работает с functions.php, но не с плагина Изменить URL-адрес главной страницы Как добавить несколько a_content или что-то в этом роде?

Рабочий виджет не отображается по внешнему виду -> виджеты

Я пытаюсь добавить пользовательский виджет для использования за пределами обычной боковой панели. Для этого я создал класс myfirst, который расширяет WP_Widget и с соответствующими переопределениями функций.

namespace widget; class myfirst extends \WP_Widget { public function __construct() { parent::__construct( 'Myfirst', 'Myfirst', array( 'description' => 'Finally a widget', 'classname' => 'myfirst' )); } public function widget($args, $instance) { $title = apply_filters('widget_title', $instance['title'] ); $before_widget = $instance[ 'before_widget' ]; $after_widget = $instance[ 'after_widget' ]; $before_title = $instance[ 'before_title' ]; $after_title = $instance[ 'after_title' ]; echo $before_widget; if($title) echo $before_title . $title . $after_title; echo 'Hello World'; echo $after_widget; } public function update($new, $old) { return $new; } public function form($instance) { if ( isset( $instance[ 'title' ] ) ) { $title = $instance[ 'title' ]; } else { $title = __( 'New title', 'text_domain' ); } ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php echo 'Title: ' ; ?></label> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>"> </p> <?php } } 

Я добавляю виджет в файл functions.php с помощью этого кода:

 function register_foo_widget() { require_once('assets/customwidgets.php'); register_widget( 'widget\myfirst' ); } add_action( 'widgets_init', 'register_foo_widget' ); 

И отображает виджет, используя

 the_widget('widget\myfirst'); 

Я могу выводить содержимое виджета, но виджет не отображается по внешнему виду -> виджеты. На самом деле видимость поля -> виджеты не появляется вообще. Я думаю, что это связано с переопределенной формой функции, но это нигде не ведет. Так в чем же проблема?

спасибо