Intereting Posts
Гравитация Формы перенаправляются на основе условий Какова структура одностраничного макета? Создание пользовательского CSS на мобильный Является ли это хорошей идеей для смены автора Slug (user_nicename) непосредственно в базе данных MySQL? Получить плагин в другом файле PHP Новая версия размера изображения только для файла Featured Image Как заставить WordPress размещать домашнюю страницу на другом URL-адресе? Переписывание страницы с настраиваемым параметром Как использовать функции WordPress (PHP) в файлах PartialJS partials? Установка тегов META, таких как описание и название при создании пост-программных сообщений Массовые регистрации в моем блоге. Отключить определенный домен? контактная форма 7 не отображается после обновления документация для ключевого слова wordpress 3.7 Загружать изображения из медиабиблиотеки на компьютер в BULK? Различные цветовые схемы для разных сайтов многоузлового

Как добавить пользовательский виджет «Текст» в диспетчер Appearance из functions.php?

Я пытаюсь добавить реплику текстового виджета WP по умолчанию с моим собственным параметром класса CSS, в functions.php, чтобы он отображался в менеджере виджетов и может быть добавлен на боковой панели.

Моя первая попытка ниже, но я уверен, что должен быть более простой способ, чем то, как я это делаю.

Можно ли это сделать проще?

В functions.php у меня есть это …

$google_search = TEMPLATEPATH . "/google_search.php";require_once($google_search); add_action('widgets_init', create_function('', "register_widget('My_Widget_Search');")); 

В google_search.php у меня есть … (Все работает, за исключением того, что содержимое поля textarea не сохраняется)

 <?php class My_Widget_Search extends WP_Widget { function My_Widget_Search() { $widget_ops = array( 'classname' => 'widget_search', 'description' => __( "Google Adsense Search Widget Placeholder" ) ); $this->WP_Widget('adsense_search', __('Adsense Search Widget'), $widget_ops); } function widget( $args, $instance ) { extract( $args ); $title = apply_filters('widget_title', empty( $instance['title'] ) ? __( '' ) : $instance['title']); $text = apply_filters('widget_text', empty( $instance['text'] ) ? __( '' ) : $instance['text']); } function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['text'] = $new_instance['text']; return $instance; } function form( $instance ) { //Defaults $instance = wp_parse_args( (array) $instance, array( 'title' => '') ); $title = esc_attr( $instance['title'] ); $text = $instance['text']; ?> <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( '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 $title; ?>" /></p> <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name=""<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea> <?php } } по <?php class My_Widget_Search extends WP_Widget { function My_Widget_Search() { $widget_ops = array( 'classname' => 'widget_search', 'description' => __( "Google Adsense Search Widget Placeholder" ) ); $this->WP_Widget('adsense_search', __('Adsense Search Widget'), $widget_ops); } function widget( $args, $instance ) { extract( $args ); $title = apply_filters('widget_title', empty( $instance['title'] ) ? __( '' ) : $instance['title']); $text = apply_filters('widget_text', empty( $instance['text'] ) ? __( '' ) : $instance['text']); } function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['text'] = $new_instance['text']; return $instance; } function form( $instance ) { //Defaults $instance = wp_parse_args( (array) $instance, array( 'title' => '') ); $title = esc_attr( $instance['title'] ); $text = $instance['text']; ?> <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( '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 $title; ?>" /></p> <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name=""<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea> <?php } } 

Solutions Collecting From Web of "Как добавить пользовательский виджет «Текст» в диспетчер Appearance из functions.php?"