'widget_post_list_by_category', 'description' => esc_html__( 'Display post list by category', 'passport' ) ); parent::__construct( 'passport_post_list_by_category_widget', esc_html__( 'Passport Post List by Category', 'passport' ), $widget_ops ); $this->alt_option_name = 'widget_post_list_by_category'; add_action( 'wp_enqueue_scripts', array( $this, 'passport_widget_inline_style' ) ); } /** * Styling the widget */ public function passport_widget_inline_style() { $i = 0; $widget_options = get_option( $this->option_name ); $custom_widget_css = ''; if( is_array( $widget_options ) && count( $widget_options ) > 0 ) { foreach ( $widget_options as $key => $widget_option ) { $widget_title_bgcolor_option = isset( $widget_option['widget_title_bgcolor'] ) ? $widget_option['widget_title_bgcolor'] : ''; if ( isset( $widget_title_bgcolor_option ) ) { $custom_widget_css .= "#{$this->id_base}-{$key} .widget-title {"; $custom_widget_css .= ! empty( $widget_title_bgcolor_option ) ? 'background-color:'. $widget_title_bgcolor_option .';' :'background-color: #333333;'; $custom_widget_css .= "}"; $custom_widget_css .= "#{$this->id_base}-{$key} .widget-title span {"; $custom_widget_css .= 'color: #ffffff;'; $custom_widget_css .= "}"; } $i++; } } wp_add_inline_style( PASSPORT_THEME_SLUG . '-custom-style', $custom_widget_css ); } // Creating widget front-end // This is where the action happens public function widget( $args, $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : ''; $number = ! empty( $instance['number'] ) ? absint( $instance['number'] ) : 5; $category_name = ! empty( $instance['category_name'] ) ? $instance['category_name'] : 'uncategories'; $exclude = ! empty( $instance['exclude'] ) ? $instance['exclude'] : ''; $excludeArry = explode( ',', $exclude); $orderby = ! empty( $instance['orderby'] ) ? $instance['orderby'] : 'date'; $order = ! empty( $instance['order'] ) ? $instance['order'] : 'desc'; $layout = ! empty( $instance['layout'] ) ? $instance['layout'] : 'full_1_and_list'; $widget_icon = ! empty( $instance['widget_icon'] ) ? $instance['widget_icon'] : ''; $widget_args = array( 'post_type' => 'post', 'category_name' => $category_name, 'posts_per_page' => $number, 'orderby' => $orderby, 'order' => $order, 'post__not_in' => $excludeArry ); $frontpage_id = get_option( 'page_on_front' ); $attachment_id = get_post_thumbnail_id( $frontpage_id ); $wp_query = new WP_Query( $widget_args ); ?> have_posts() ) : ?> '. $title .''; } ?>