'widget_teachpress_books', 'description' => esc_html__('Shows a random book in the sidebar', 'teachpress') ]; $control_ops = array('width' => 500, 'height' => 300); parent::__construct(false, $name = esc_html__('teachPress books','teachpress'), $widget_ops, $control_ops); } /** * Widget content area * @see WP_Widget::widget * @param array $args * @param array $instance */ function widget($args, $instance) { extract( $args ); $title = apply_filters('widget_title', $instance['title']); $all_url = get_permalink($instance['url']); $books = $instance['books']; $random_id = rand(0, count($books) - 1); $pub_id = $books[$random_id]; $row = TP_Publications::get_publication($pub_id); echo $before_widget; if ( $title ) { echo $before_title . $title . $after_title; } TP_HTML::line( '

' . $row->title . '

'); TP_HTML::line( '' ); echo $after_widget; } /** * Update values * @see WP_Widget::update * @param array $new_instance * @param array $old_instance */ function update($new_instance, $old_instance) { return $new_instance; } /** * Widget admin area * @see WP_Widget::form * @param array $instance */ function form($instance) { $title = isset ($instance['title']) ? esc_attr($instance['title']) : ''; $url = isset ($instance['url']) ? esc_attr($instance['url']) : ''; $books = isset ($instance['books']) ? $instance['books'] : array(); TP_HTML::line( '

' ); TP_HTML::line( '

' . esc_html__('use <Ctrl> key to select multiple books', 'teachpress') . '

'; TP_HTML::line( '

'; } }