'ahncommerce_widget_post_tags', 'description' => __( 'A list or dropdown of post tags.', 'ahncommerce' ), 'customize_selective_refresh' => true, 'show_instance_in_rest' => true, ); parent::__construct( 'ahncommerce-tags', esc_html__( 'AhnCommerce Post Tags', 'ahncommerce' ), $widget_ops ); } /** * Outputs the content for the current Tags widget instance. * * @since 1.0.0 * * @param array $args Display arguments including 'before_title', 'after_title', 'before_widget', and 'after_widget'. * @param array $instance Settings for the current Tags widget instance. */ public function widget( $args, $instance ) { echo $args['before_widget']; // Display widget title if set if ( ! empty( $instance['title'] ) ) { echo $args['before_title'] . apply_filters( 'widget_title', sanitize_text_field( $instance['title'] ) ) . $args['after_title']; } // Get tags with a limit if set $number_of_tags = ! empty( $instance['number_of_tags'] ) ? intval( $instance['number_of_tags'] ) : -1; $tags = get_tags( array( 'orderby' => 'name', 'order' => 'ASC', 'number' => $number_of_tags, ) ); if ( ! empty( $tags ) ) { echo '
'; } echo $args['after_widget']; } /** * Outputs the settings form for the Tags widget. * * @since 1.0.0 * * @param array $instance Current settings. */ public function form( $instance ) { $title = ! empty( $instance['title'] ) ? sanitize_text_field( $instance['title'] ) : __( 'Post Tags', 'ahncommerce' ); $number_of_tags = ! empty( $instance['number_of_tags'] ) ? intval( $instance['number_of_tags'] ) : 10; ?>