'allstorecategories_widget', 'description' => esc_html__( 'AllStore Categories', 'all-store' ) ) ); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { extract( $args ); global $wp_query; $title = apply_filters( 'widget_title', $instance['title'] ); $start_level = esc_html($instance['start_level']); echo wp_kses_post($before_widget); if ( $title ) { echo wp_kses_post($before_title . $title . $after_title); } if (isset($wp_query->get_queried_object()->term_id)) { $term_id = $wp_query->get_queried_object()->term_id; } if (!empty($term_id) && $start_level !== 'level_0') { $current_ctg_id = $wp_query->get_queried_object()->term_id; if ($start_level == 'level_1') { $ancestors = get_ancestors($current_ctg_id, 'product_cat', 'taxonomy'); $ctg_level_1 = end($ancestors); if (!$ctg_level_1) { $ctg_level_1 = $current_ctg_id; } } else { $ctg_level_1 = $current_ctg_id; } } else { $ctg_level_1 = 0; } echo '
'; if (!empty($ctg_level_1)) { $ctg_level_1_arr = get_category($ctg_level_1); echo '

'.esc_html($ctg_level_1_arr->name).'

'; } echo ''; echo '
'; echo wp_kses_post($after_widget); } /** * Sanitize widget form values as they are saved. * * @see WP_Widget::update() * * @param array $new_instance Values just sent to be saved. * @param array $old_instance Previously saved values from database. * * @return array Updated safe values to be saved. */ public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); $instance['start_level'] = strip_tags( $new_instance['start_level'] ); return $instance; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. */ public function form( $instance ) { if (!empty($instance['title'])) { $title = esc_attr( $instance['title'] ); } else { $title = ''; } if (!empty($instance['start_level'])) { $start_level = esc_attr( $instance['start_level'] ); } else { $start_level = ''; } ?>