'ahncommerce_widget_post_categories', 'description' => __( 'A list or dropdown of post categories.', 'ahncommerce' ), 'customize_selective_refresh' => true, 'show_instance_in_rest' => true, ); parent::__construct( 'ahncommerce-categories', esc_html__( 'AhnCommerce Post Categories', 'ahncommerce' ), $widget_ops ); } /** * Outputs the content for the current Categories 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 Categories 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 categories with a limit if set $number_of_categories = ! empty( $instance['number_of_categories'] ) ? intval( $instance['number_of_categories'] ) : -1; $categories = get_categories( array( 'orderby' => 'name', 'order' => 'ASC', 'number' => $number_of_categories, ) ); if ( ! empty( $categories ) ) { echo '