Я пытаюсь создать простой виджет для отображения списка сообщений из определенной категории, я получаю журнал ошибок в "Notice: Undefined index: after_widget in"
Я также заметил странную вещь, что мой класс виджета <aside>
делает все другие виджеты быть ее ребенок, она не закрывается, когда код виджета делается,Фатальная ошибка с after_widget
Это мой код:
if (!defined('ABSPATH'))
\t die('-1');
\t
\t
add_action('widgets_init', function(){
register_widget('news_roller');
}); \t
function illu_news_widget(){
wp_enqueue_style('your-stylesheet-name', plugins_url('/css/style.css', __FILE__), false, '1.0.0', 'all');
}
add_action('wp_enqueue_scripts', "illu_news_widget");
/**
* Adds news_roller widget.
*/
class news_roller extends WP_Widget {
\t /**
\t * Register widget with WordPress.
\t */
\t function __construct() {
\t \t parent::__construct(
\t \t \t 'news_roller', // Base ID
\t \t \t __('News roller', 'isas_news'), // Name
\t \t \t array('description' => __('News roller', 'isas_news'),) // Args
\t \t);
\t }
\t /**
\t * Front-end display of widget.
\t *
\t * @see WP_Widget::widget()
\t *
\t * @param array $args Widget arguments.
\t * @param array $instance Saved values from database.
\t */
\t public function widget($args, $instance) {
\t \t extract($args);
\t \t // Excerpt length filter
\t \t function new_excerpt_length($length) {
\t return 10;
\t \t }
\t \t add_filter('excerpt_length', 'new_excerpt_length');
\t
\t echo $args['before_widget'];
\t \t if (! empty($instance['title'])) {
\t \t \t echo $args['before_title'] . apply_filters('widget_title', $instance['title']). $args['after_title'];
\t \t }
if (! empty($instance['cat'])) {
\t \t ?>
\t \t \t \t \t \t \t <ul class="illu_widget news-carousel">
\t \t \t \t \t \t \t \t <?php
\t \t \t \t \t \t \t \t \t $args = array(
\t \t \t \t \t \t \t \t \t \t 'cat' => $instance["cat"]
\t \t \t \t \t \t \t \t \t);
\t \t \t \t \t \t \t \t \t query_posts($args);
\t \t \t \t \t \t \t \t \t while (have_posts()) : the_post();
\t \t \t \t \t \t \t \t ?>
\t \t \t \t \t \t \t \t \t <li>
\t \t \t \t \t \t \t \t \t \t <a href="<?php the_permalink(); ?>">
\t \t \t \t \t \t \t \t \t \t \t <?php the_excerpt(); ?>
\t \t \t \t \t \t \t \t \t \t </a>
\t \t \t \t \t \t \t \t \t </li>
\t \t \t \t \t \t \t \t <?php
\t \t \t \t \t \t \t \t \t endwhile;
\t \t \t \t \t \t \t \t \t wp_reset_query();
\t \t \t \t \t \t \t \t ?>
\t \t \t \t \t \t \t </ul>
\t <?php
\t
\t }
\t echo $args['after_widget'];
\t \t
\t }
\t /**
\t * Back-end widget form.
\t *
\t * @see WP_Widget::form()
\t *
\t * @param array $instance Previously saved values from database.
\t */
\t public function form($instance) {
\t \t if (isset($instance[ 'title' ])) {
\t \t \t $title = $instance[ 'title' ];
\t \t }
\t \t else {
\t \t \t $title = __('New title', 'isas-news');
\t \t }
\t \t $cat \t \t \t = $instance['cat'];
\t \t ?>
\t \t <p>
\t \t \t <label for="<?php echo $this->get_field_id('title'); ?>">
\t \t \t \t <?php _e('Title:'); ?>
\t \t \t </label>
\t \t \t <input class="widefat" id="<?php
\t \t \t \t echo $this->get_field_id('title'); ?>" name="<?php
\t \t \t \t echo $this->get_field_name('title'); ?>" type="text"
\t \t \t \t value="<?php echo esc_attr($title); ?>">
\t \t </p>
\t \t <label>
\t \t \t <?php _e('Category'); ?>:
\t \t \t <?php wp_dropdown_categories(array(
\t \t \t 'name' => $this->get_field_name("cat"),
\t \t \t 'selected' => $instance["cat"])); ?>
\t \t </label>
<?php
\t }
\t /**
\t * Sanitize widget form values as they are saved.
\t *
\t * @see WP_Widget::update()
\t *
\t * @param array $new_instance Values just sent to be saved.
\t * @param array $old_instance Previously saved values from database.
\t *
\t * @return array Updated safe values to be saved.
\t */
\t public function update($new_instance, $old_instance) {
\t \t $instance = array();
\t \t $instance['title'] = (! empty($new_instance['title'])) ? strip_tags($new_instance['title']) : '';
$instance['cat'] = (! empty($new_instance['cat'])) ? strip_tags($new_instance['cat']) : '';
\t \t return $instance;
\t }
} // class news_roller
не может показаться, я должен сказать, что мой php очень ограничен.
Благодаря