Показать одиночный виджет

Я создал простой одноразовый виджет, чтобы администратор изменил какую-то копию на домашней странице, но виджет не показывает его содержимое.

На домашней странице у меня есть этот код: <?php the_widget('home_widget'); ?> <?php the_widget('home_widget'); ?>

И это исходный код самого виджета, поскольку он появляется в моем файле functions.php (это чистый виджет Mark Markup Джеффа Старра):

 // Clean Markup Widget @ http://perishablepress.com/clean-markup-widget/ add_action('widgets_init', create_function('', 'register_widget("home_widget");')); class home_widget extends WP_Widget { function __construct() { parent::WP_Widget('home_widget', "home page box", array('description'=>"The contents of the home page box")); } function widget($args, $instance) { extract($args); $markup = $instance['markup']; if ($markup) echo $markup; } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['markup'] = $new_instance['markup']; return $instance; } function form($instance) { if ($instance) $markup = esc_attr($instance['markup']); else $markup = __('Sample markup', 'markup_widget'); ?> <p> <label for="<?php echo $this->get_field_id('markup'); ?>"><?php _e('Markup/text'); ?></label><br /> <textarea class="widefat" id="<?php echo $this->get_field_id('markup'); ?>" name="<?php echo $this->get_field_name('markup'); ?>" type="text" rows="16" cols="20" value="<?php echo $markup; ?>"><?php echo $markup; ?></textarea> </p> <?php } } 

Виджет выглядит и отлично работает в инструменте Admin, и я могу добавить текст и сохранить его и т. Д. Но на домашней странице ничего не отображается. Как я могу отобразить содержимое виджета?

Чтобы быть ясным: когда я помещаю виджет в боковую панель интерфейса администратора (потому что вам нужно), я не хочу отображать боковую панель (так как у меня есть другие виджеты там). Я просто хочу, чтобы этот одноразовый виджет отображал его содержимое на главной странице. Очень просто.

Solutions Collecting From Web of "Показать одиночный виджет"

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

Вы должны иметь возможность получить работу the_widget если вы пройдете достаточно подробностей с помощью (до) трех параметров – например:

 the_widget('home_widget',array('markup' => 'Yay')); 

Но вы не можете настроить это из бэкэнд.

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