X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/41578db67d72562346e4dbb2a14889b23d522813..dc1231b7312fbdca99e9e887cc2bb35a28f85cdc:/wp-includes/default-widgets.php diff --git a/wp-includes/default-widgets.php b/wp-includes/default-widgets.php index 8a803a47..48a39179 100644 --- a/wp-includes/default-widgets.php +++ b/wp-includes/default-widgets.php @@ -13,13 +13,16 @@ */ class WP_Widget_Pages extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_pages', 'description' => __( 'A list of your site’s Pages.') ); parent::__construct('pages', __('Pages'), $widget_ops); } - function widget( $args, $instance ) { - extract( $args ); + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { /** * Filter the widget title. @@ -54,20 +57,26 @@ class WP_Widget_Pages extends WP_Widget { 'exclude' => $exclude ) ) ); - if ( !empty( $out ) ) { - echo $before_widget; - if ( $title) - echo $before_title . $title . $after_title; + if ( ! empty( $out ) ) { + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } ?> 'post_title', 'title' => '', 'exclude' => '') ); $title = esc_attr( $instance['title'] ); @@ -113,14 +125,16 @@ class WP_Widget_Pages extends WP_Widget { */ class WP_Widget_Links extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('description' => __( "Your blogroll" ) ); parent::__construct('links', __('Links'), $widget_ops); } - function widget( $args, $instance ) { - extract($args, EXTR_SKIP); - + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { $show_description = isset($instance['description']) ? $instance['description'] : false; $show_name = isset($instance['name']) ? $instance['name'] : false; $show_rating = isset($instance['rating']) ? $instance['rating'] : false; @@ -130,7 +144,7 @@ class WP_Widget_Links extends WP_Widget { $order = $orderby == 'rating' ? 'DESC' : 'ASC'; $limit = isset( $instance['limit'] ) ? $instance['limit'] : -1; - $before_widget = preg_replace('/id="[^"]*"/','id="%id"', $before_widget); + $before_widget = preg_replace( '/id="[^"]*"/', 'id="%id"', $args['before_widget'] ); /** * Filter the arguments for the Links widget. @@ -142,8 +156,8 @@ class WP_Widget_Links extends WP_Widget { * @param array $args An array of arguments to retrieve the links list. */ wp_list_bookmarks( apply_filters( 'widget_links_args', array( - 'title_before' => $before_title, 'title_after' => $after_title, - 'category_before' => $before_widget, 'category_after' => $after_widget, + 'title_before' => $args['before_title'], 'title_after' => $args['after_title'], + 'category_before' => $before_widget, 'category_after' => $args['after_widget'], 'show_images' => $show_images, 'show_description' => $show_description, 'show_name' => $show_name, 'show_rating' => $show_rating, 'category' => $category, 'class' => 'linkcat widget', @@ -152,7 +166,12 @@ class WP_Widget_Links extends WP_Widget { ) ) ); } - function update( $new_instance, $old_instance ) { + /** + * @param array $new_instance + * @param array $old_instance + * @return array + */ + public function update( $new_instance, $old_instance ) { $new_instance = (array) $new_instance; $instance = array( 'images' => 0, 'name' => 0, 'description' => 0, 'rating' => 0 ); foreach ( $instance as $field => $val ) { @@ -170,7 +189,10 @@ class WP_Widget_Links extends WP_Widget { return $instance; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { //Defaults $instance = wp_parse_args( (array) $instance, array( 'images' => true, 'name' => true, 'description' => false, 'rating' => false, 'category' => false, 'orderby' => 'name', 'limit' => -1 ) ); @@ -223,28 +245,34 @@ class WP_Widget_Links extends WP_Widget { */ class WP_Widget_Search extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_search', 'description' => __( "A search form for your site.") ); parent::__construct( 'search', _x( 'Search', 'Search widget' ), $widget_ops ); } - function widget( $args, $instance ) { - extract($args); - + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } // Use current theme search form if it exists get_search_form(); - echo $after_widget; + echo $args['after_widget']; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { $instance = wp_parse_args( (array) $instance, array( 'title' => '') ); $title = $instance['title']; ?> @@ -252,7 +280,12 @@ class WP_Widget_Search extends WP_Widget { '')); $instance['title'] = strip_tags($new_instance['title']); @@ -268,28 +301,32 @@ class WP_Widget_Search extends WP_Widget { */ class WP_Widget_Archives extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_archive', 'description' => __( 'A monthly archive of your site’s Posts.') ); parent::__construct('archives', __('Archives'), $widget_ops); } - function widget( $args, $instance ) { - extract($args); + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { $c = ! empty( $instance['count'] ) ? '1' : '0'; $d = ! empty( $instance['dropdown'] ) ? '1' : '0'; /** This filter is documented in wp-includes/default-widgets.php */ - $title = apply_filters( 'widget_title', empty($instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base ); + $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Archives' ) : $instance['title'], $instance, $this->id_base ); - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } if ( $d ) { + $dropdown_id = "{$this->id_base}-dropdown-{$this->number}"; ?> - 'monthly', 'format' => 'option', 'show_post_count' => $c - ) ) ); -?> + ) ); + + switch ( $dropdown_args['type'] ) { + case 'yearly': + $label = __( 'Select Year' ); + break; + case 'monthly': + $label = __( 'Select Month' ); + break; + case 'daily': + $label = __( 'Select Day' ); + break; + case 'weekly': + $label = __( 'Select Week' ); + break; + default: + $label = __( 'Select Post' ); + break; + } + ?> + + + + '', 'count' => 0, 'dropdown' => '') ); $instance['title'] = strip_tags($new_instance['title']); @@ -343,7 +407,10 @@ class WP_Widget_Archives extends WP_Widget { return $instance; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'count' => 0, 'dropdown' => '') ); $title = strip_tags($instance['title']); $count = $instance['count'] ? 'checked="checked"' : ''; @@ -368,26 +435,29 @@ class WP_Widget_Archives extends WP_Widget { */ class WP_Widget_Meta extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_meta', 'description' => __( "Login, RSS, & WordPress.org links.") ); parent::__construct('meta', __('Meta'), $widget_ops); } - function widget( $args, $instance ) { - extract($args); - + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters( 'widget_title', empty($instance['title']) ? __( 'Meta' ) : $instance['title'], $instance, $this->id_base ); - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } ?> '' ) ); $title = strip_tags($instance['title']); ?> @@ -432,34 +510,45 @@ class WP_Widget_Meta extends WP_Widget { */ class WP_Widget_Calendar extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_calendar', 'description' => __( 'A calendar of your site’s Posts.') ); parent::__construct('calendar', __('Calendar'), $widget_ops); } - function widget( $args, $instance ) { - extract($args); - + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } echo '
'; get_calendar(); echo '
'; - echo $after_widget; + echo $args['after_widget']; } - function update( $new_instance, $old_instance ) { + /** + * @param array $new_instance + * @param array $old_instance + * @return array + */ + public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); return $instance; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) ); $title = strip_tags($instance['title']); ?> @@ -476,15 +565,17 @@ class WP_Widget_Calendar extends WP_Widget { */ class WP_Widget_Text extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('text', __('Text'), $widget_ops, $control_ops); } - function widget( $args, $instance ) { - extract($args); - + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); @@ -497,25 +588,35 @@ class WP_Widget_Text extends WP_Widget { * @param WP_Widget $instance WP_Widget instance. */ $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance ); - echo $before_widget; - if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?> + echo $args['before_widget']; + if ( ! empty( $title ) ) { + echo $args['before_title'] . $title . $args['after_title']; + } ?>
'', 'text' => '' ) ); $title = strip_tags($instance['title']); $text = esc_textarea($instance['text']); @@ -523,7 +624,8 @@ class WP_Widget_Text extends WP_Widget {

- +

+

/> 

'widget_categories', 'description' => __( "A list or dropdown of categories." ) ); parent::__construct('categories', __('Categories'), $widget_ops); } - function widget( $args, $instance ) { - extract( $args ); + /** + * @staticvar bool $first_dropdown + * + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { + static $first_dropdown = true; /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this->id_base ); @@ -552,14 +660,25 @@ class WP_Widget_Categories extends WP_Widget { $h = ! empty( $instance['hierarchical'] ) ? '1' : '0'; $d = ! empty( $instance['dropdown'] ) ? '1' : '0'; - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } - $cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h); + $cat_args = array( + 'orderby' => 'name', + 'show_count' => $c, + 'hierarchical' => $h + ); if ( $d ) { - $cat_args['show_option_none'] = __('Select Category'); + $dropdown_id = ( $first_dropdown ) ? 'cat' : "{$this->id_base}-dropdown-{$this->number}"; + $first_dropdown = false; + + echo ''; + + $cat_args['show_option_none'] = __( 'Select Category' ); + $cat_args['id'] = $dropdown_id; /** * Filter the arguments for the Categories widget drop-down. @@ -575,13 +694,15 @@ class WP_Widget_Categories extends WP_Widget { @@ -605,10 +726,15 @@ class WP_Widget_Categories extends WP_Widget { '') ); $title = esc_attr( $instance['title'] ); @@ -649,7 +778,7 @@ class WP_Widget_Categories extends WP_Widget { */ class WP_Widget_Recent_Posts extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array('classname' => 'widget_recent_entries', 'description' => __( "Your site’s most recent Posts.") ); parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); $this->alt_option_name = 'widget_recent_entries'; @@ -659,7 +788,11 @@ class WP_Widget_Recent_Posts extends WP_Widget { add_action( 'switch_theme', array($this, 'flush_widget_cache') ); } - function widget($args, $instance) { + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { $cache = array(); if ( ! $this->is_preview() ) { $cache = wp_cache_get( 'widget_recent_posts', 'widget' ); @@ -679,7 +812,6 @@ class WP_Widget_Recent_Posts extends WP_Widget { } ob_start(); - extract($args); $title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts' ); @@ -709,8 +841,10 @@ class WP_Widget_Recent_Posts extends WP_Widget { if ($r->have_posts()) : ?> - - + + - + 'widget_recent_comments', 'description' => __( 'Your site’s most recent comments.' ) ); parent::__construct('recent-comments', __('Recent Comments'), $widget_ops); $this->alt_option_name = 'widget_recent_comments'; @@ -791,8 +936,10 @@ class WP_Widget_Recent_Comments extends WP_Widget { add_action( 'transition_comment_status', array($this, 'flush_widget_cache') ); } - function recent_comments_style() { - + /** + * @access public + */ + public function recent_comments_style() { /** * Filter the Recent Comments default widget styles. * @@ -809,11 +956,21 @@ class WP_Widget_Recent_Comments extends WP_Widget { 'publish' ) ) ); - $output .= $before_widget; - if ( $title ) - $output .= $before_title . $title . $after_title; + $output .= $args['before_widget']; + if ( $title ) { + $output .= $args['before_title'] . $title . $args['after_title']; + } $output .= ''; - $output .= $after_widget; + $output .= $args['after_widget']; echo $output; @@ -884,7 +1047,12 @@ class WP_Widget_Recent_Comments extends WP_Widget { } } - function update( $new_instance, $old_instance ) { + /** + * @param array $new_instance + * @param array $old_instance + * @return array + */ + public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['number'] = absint( $new_instance['number'] ); @@ -897,7 +1065,10 @@ class WP_Widget_Recent_Comments extends WP_Widget { return $instance; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : ''; $number = isset( $instance['number'] ) ? absint( $instance['number'] ) : 5; ?> @@ -917,19 +1088,20 @@ class WP_Widget_Recent_Comments extends WP_Widget { */ class WP_Widget_RSS extends WP_Widget { - function __construct() { + public function __construct() { $widget_ops = array( 'description' => __('Entries from any RSS or Atom feed.') ); $control_ops = array( 'width' => 400, 'height' => 200 ); parent::__construct( 'rss', __('RSS'), $widget_ops, $control_ops ); } - function widget($args, $instance) { - + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { if ( isset($instance['error']) && $instance['error'] ) return; - extract($args, EXTR_SKIP); - $url = ! empty( $instance['url'] ) ? $instance['url'] : ''; while ( stristr($url, 'http') != $url ) $url = substr($url, 1); @@ -964,28 +1136,37 @@ class WP_Widget_RSS extends WP_Widget { $url = esc_url(strip_tags($url)); $icon = includes_url('images/rss.png'); if ( $title ) - $title = "RSS $title"; + $title = "RSS $title"; - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } wp_widget_rss_output( $rss, $instance ); - echo $after_widget; + echo $args['after_widget']; if ( ! is_wp_error($rss) ) $rss->__destruct(); unset($rss); } - function update($new_instance, $old_instance) { + /** + * @param array $new_instance + * @param array $old_instance + * @return array + */ + public function update( $new_instance, $old_instance ) { $testurl = ( isset( $new_instance['url'] ) && ( !isset( $old_instance['url'] ) || ( $new_instance['url'] != $old_instance['url'] ) ) ); return wp_widget_rss_process( $new_instance, $testurl ); } - function form($instance) { - - if ( empty($instance) ) + /** + * @param array $instance + */ + public function form( $instance ) { + if ( empty( $instance ) ) { $instance = array( 'title' => '', 'url' => '', 'items' => 10, 'error' => false, 'show_summary' => 0, 'show_author' => 0, 'show_date' => 0 ); + } $instance['number'] = $this->number; wp_widget_rss_form( $instance ); @@ -1016,16 +1197,15 @@ function wp_widget_rss_output( $rss, $args = array() ) { return; } - $default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0 ); + $default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0, 'items' => 0 ); $args = wp_parse_args( $args, $default_args ); - extract( $args, EXTR_SKIP ); - $items = (int) $items; + $items = (int) $args['items']; if ( $items < 1 || 20 < $items ) $items = 10; - $show_summary = (int) $show_summary; - $show_author = (int) $show_author; - $show_date = (int) $show_date; + $show_summary = (int) $args['show_summary']; + $show_author = (int) $args['show_author']; + $show_date = (int) $args['show_date']; if ( !$rss->get_item_quantity() ) { echo ''; @@ -1035,29 +1215,28 @@ function wp_widget_rss_output( $rss, $args = array() ) { } echo ''; @@ -1107,56 +1286,58 @@ function wp_widget_rss_output( $rss, $args = array() ) { * @param array $inputs Override default display options. */ function wp_widget_rss_form( $args, $inputs = null ) { - $default_inputs = array( 'url' => true, 'title' => true, 'items' => true, 'show_summary' => true, 'show_author' => true, 'show_date' => true ); $inputs = wp_parse_args( $inputs, $default_inputs ); - extract( $args ); - extract( $inputs, EXTR_SKIP ); - $number = esc_attr( $number ); - $title = esc_attr( $title ); - $url = esc_url( $url ); - $items = (int) $items; - if ( $items < 1 || 20 < $items ) - $items = 10; - $show_summary = (int) $show_summary; - $show_author = (int) $show_author; - $show_date = (int) $show_date; + $args['number'] = esc_attr( $args['number'] ); + $args['title'] = isset( $args['title'] ) ? esc_attr( $args['title'] ) : ''; + $args['url'] = isset( $args['url'] ) ? esc_url( $args['url'] ) : ''; + $args['items'] = isset( $args['items'] ) ? (int) $args['items'] : 0; - if ( !empty($error) ) - echo '

' . sprintf( __('RSS Error: %s'), $error) . '

'; + if ( $args['items'] < 1 || 20 < $args['items'] ) { + $args['items'] = 10; + } + + $args['show_summary'] = isset( $args['show_summary'] ) ? (int) $args['show_summary'] : (int) $inputs['show_summary']; + $args['show_author'] = isset( $args['show_author'] ) ? (int) $args['show_author'] : (int) $inputs['show_author']; + $args['show_date'] = isset( $args['show_date'] ) ? (int) $args['show_date'] : (int) $inputs['show_date']; + + if ( ! empty( $args['error'] ) ) { + echo '

' . sprintf( __( 'RSS Error: %s' ), $args['error'] ) . '

'; + } if ( $inputs['url'] ) : ?> -

-

+

+

-

-

+

+

-

- $i"; + for ( $i = 1; $i <= 20; ++$i ) { + echo ""; + } ?>

-

/> -

+

/> +

-

/> -

+

/> +

-

/> -

+

/> +

- + __( "A cloud of your most used tags.") ); parent::__construct('tag_cloud', __('Tag Cloud'), $widget_ops); } - function widget( $args, $instance ) { - extract($args); + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { $current_taxonomy = $this->_get_current_taxonomy($instance); if ( !empty($instance['title']) ) { $title = $instance['title']; @@ -1236,9 +1420,10 @@ class WP_Widget_Tag_Cloud extends WP_Widget { /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters( 'widget_title', $title, $instance, $this->id_base ); - echo $before_widget; - if ( $title ) - echo $before_title . $title . $after_title; + echo $args['before_widget']; + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } echo '
'; /** @@ -1256,16 +1441,25 @@ class WP_Widget_Tag_Cloud extends WP_Widget { ) ) ); echo "
\n"; - echo $after_widget; + echo $args['after_widget']; } - function update( $new_instance, $old_instance ) { + /** + * @param array $new_instance + * @param array $old_instance + * @return array + */ + public function update( $new_instance, $old_instance ) { + $instance = array(); $instance['title'] = strip_tags(stripslashes($new_instance['title'])); $instance['taxonomy'] = stripslashes($new_instance['taxonomy']); return $instance; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { $current_taxonomy = $this->_get_current_taxonomy($instance); ?>

@@ -1282,7 +1476,11 @@ class WP_Widget_Tag_Cloud extends WP_Widget {

__('Add a custom menu to your sidebar.') ); parent::__construct( 'nav_menu', __('Custom Menu'), $widget_ops ); } - function widget($args, $instance) { + /** + * @param array $args + * @param array $instance + */ + public function widget( $args, $instance ) { // Get menu $nav_menu = ! empty( $instance['nav_menu'] ) ? wp_get_nav_menu_object( $instance['nav_menu'] ) : false; @@ -1317,46 +1519,85 @@ class WP_Widget_Tag_Cloud extends WP_Widget { if ( !empty($instance['title']) ) echo $args['before_title'] . $instance['title'] . $args['after_title']; - wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) ); + $nav_menu_args = array( + 'fallback_cb' => '', + 'menu' => $nav_menu + ); + + /** + * Filter the arguments for the Custom Menu widget. + * + * @since 4.2.0 + * + * @param array $nav_menu_args { + * An array of arguments passed to wp_nav_menu() to retrieve a custom menu. + * + * @type callback|bool $fallback_cb Callback to fire if the menu doesn't exist. Default empty. + * @type mixed $menu Menu ID, slug, or name. + * } + * @param stdClass $nav_menu Nav menu object for the current menu. + * @param array $args Display arguments for the current widget. + */ + wp_nav_menu( apply_filters( 'widget_nav_menu_args', $nav_menu_args, $nav_menu, $args ) ); echo $args['after_widget']; } - function update( $new_instance, $old_instance ) { - $instance['title'] = strip_tags( stripslashes($new_instance['title']) ); - $instance['nav_menu'] = (int) $new_instance['nav_menu']; + /** + * @param array $new_instance + * @param array $old_instance + * @return array + */ + public function update( $new_instance, $old_instance ) { + $instance = array(); + if ( ! empty( $new_instance['title'] ) ) { + $instance['title'] = strip_tags( stripslashes($new_instance['title']) ); + } + if ( ! empty( $new_instance['nav_menu'] ) ) { + $instance['nav_menu'] = (int) $new_instance['nav_menu']; + } return $instance; } - function form( $instance ) { + /** + * @param array $instance + */ + public function form( $instance ) { $title = isset( $instance['title'] ) ? $instance['title'] : ''; $nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : ''; // Get menus - $menus = wp_get_nav_menus( array( 'orderby' => 'name' ) ); + $menus = wp_get_nav_menus(); // If no menus exists, direct the user to go and create some. - if ( !$menus ) { - echo '

'. sprintf( __('No menus have been created yet. Create some.'), admin_url('nav-menus.php') ) .'

'; - return; - } ?> -

- - -

-

- - + ?> + Create some.' ), esc_attr( $url ) ); ?>

+