diff -r 490d5cc509ed -r cf61fcea0001 wp/wp-includes/widgets/class-wp-widget-categories.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/widgets/class-wp-widget-categories.php Mon Oct 14 17:39:30 2019 +0200 @@ -0,0 +1,182 @@ + 'widget_categories', + 'description' => __( 'A list or dropdown of categories.' ), + 'customize_selective_refresh' => true, + ); + parent::__construct( 'categories', __( 'Categories' ), $widget_ops ); + } + + /** + * Outputs the content for the current Categories widget instance. + * + * @since 2.8.0 + * + * @staticvar bool $first_dropdown + * + * @param array $args Display arguments including 'before_title', 'after_title', + * 'before_widget', and 'after_widget'. + * @param array $instance Settings for the current Categories widget instance. + */ + public function widget( $args, $instance ) { + static $first_dropdown = true; + + $title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'Categories' ); + + /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ + $title = apply_filters( 'widget_title', $title, $instance, $this->id_base ); + + $c = ! empty( $instance['count'] ) ? '1' : '0'; + $h = ! empty( $instance['hierarchical'] ) ? '1' : '0'; + $d = ! empty( $instance['dropdown'] ) ? '1' : '0'; + + echo $args['before_widget']; + + if ( $title ) { + echo $args['before_title'] . $title . $args['after_title']; + } + + $cat_args = array( + 'orderby' => 'name', + 'show_count' => $c, + 'hierarchical' => $h, + ); + + if ( $d ) { + echo sprintf( '
', esc_url( home_url() ) ); + $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; + + /** + * Filters the arguments for the Categories widget drop-down. + * + * @since 2.8.0 + * @since 4.9.0 Added the `$instance` parameter. + * + * @see wp_dropdown_categories() + * + * @param array $cat_args An array of Categories widget drop-down arguments. + * @param array $instance Array of settings for the current widget. + */ + wp_dropdown_categories( apply_filters( 'widget_categories_dropdown_args', $cat_args, $instance ) ); + + echo '
'; + ?> + + + + + + '') ); + $title = sanitize_text_field( $instance['title'] ); + $count = isset($instance['count']) ? (bool) $instance['count'] :false; + $hierarchical = isset( $instance['hierarchical'] ) ? (bool) $instance['hierarchical'] : false; + $dropdown = isset( $instance['dropdown'] ) ? (bool) $instance['dropdown'] : false; + ?> +

+

+ +

/> +
+ + /> +
+ + /> +

+