| Server IP : 213.186.33.4 / Your IP : 216.73.216.146 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/plugins/glaza-core/widgets/ |
Upload File : |
<?php
if ( ! class_exists( 'glaza_widget_sb_post' ) ) {
class glaza_widget_sb_post extends WP_Widget {
function __construct() {
$widget_ops = array(
'classname' => 'widget-sb-post',
'description' => esc_html__( '[Sidebar Widget] Display blog listings with custom query in the sidebar.', 'glaza-core' )
);
parent::__construct( 'sb_post', esc_html__( '[Sidebar] Post Listing', 'glaza-core' ), $widget_ops );
}
function widget( $args, $instance ) {
if ( ! function_exists( 'glaza_widget_post' ) ) {
return false;
}
echo $args['before_widget'];
$instance = wp_parse_args( $instance, array(
'title' => '',
'style' => '',
'category' => '',
'categories' => '',
'tags' => '',
'post_format' => 0,
'posts_per_page' => 4,
'offset' => 0,
'orderby' => 'date_post'
) );
$instance['title'] = apply_filters( 'widget_title', $instance['title'] );
$instance['block_id'] = $args['widget_id'];
if ( ! empty( $instance['title'] ) ) {
echo $args['before_title'] . esc_html( $instance['title'] ) . $args['after_title'];
} ?>
<div class="widget-post-content">
<?php glaza_widget_post( $instance ); ?>
</div>
<?php echo $args['after_widget'];
}
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['style'] = strip_tags( $new_instance['style'] );
$instance['category'] = strip_tags( $new_instance['category'] );
$instance['categories'] = strip_tags( $new_instance['categories'] );
$instance['tags'] = strip_tags( $new_instance['tags'] );
$instance['post_format'] = strip_tags( $new_instance['post_format'] );
$instance['posts_per_page'] = absint( strip_tags( $new_instance['posts_per_page'] ) );
$instance['offset'] = absint( strip_tags( $new_instance['offset'] ) );
$instance['orderby'] = strip_tags( $new_instance['orderby'] );
return $instance;
}
function form( $instance ) {
$defaults = array(
'title' => esc_html__( 'Latest Posts', 'glaza-core' ),
'style' => '',
'category' => '',
'categories' => '',
'tags' => '',
'post_format' => 0,
'posts_per_page' => 4,
'offset' => 0,
'orderby' => 'date_post'
);
$instance = wp_parse_args( (array) $instance, $defaults ); ?>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'title' )); ?>"><?php esc_html_e('Title:','glaza-core') ?></label>
<input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id( 'title' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'title' )); ?>" value="<?php if(!empty($instance['title'])) echo esc_attr($instance['title']); ?>" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'style' )); ?>"><strong><?php esc_html_e('Blog Style:', 'glaza-core'); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr($this->get_field_id( 'style' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'style' )); ?>" >
<option value="1" <?php if( !empty($instance['style']) && $instance['style'] == '1' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Style 1', 'glaza-core'); ?></option>
<option value="2" <?php if( !empty($instance['style']) && $instance['style'] == '2' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Style 2', 'glaza-core'); ?></option>
</select>
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id('category')); ?>"><strong><?php esc_html_e('Category Filter:', 'glaza-core'); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr($this->get_field_id('category')); ?>" name="<?php echo esc_attr($this->get_field_name('category')); ?>">
<option value='all' <?php if ($instance['category'] == 'all') echo 'selected="selected"'; ?>><?php esc_html_e('All Categories', 'glaza-core'); ?></option>
<?php $categories = get_categories('type=post'); foreach ($categories as $category) { ?><option value='<?php echo esc_attr($category->term_id); ?>' <?php if ($instance['category'] == $category->term_id) echo 'selected="selected"'; ?>><?php echo esc_attr($category->cat_name); ?></option><?php } ?>
</select>
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'categories' )); ?>"><?php esc_html_e('Multiple Category Filter (optional, Input category ids, separated by comma. example: 1,2):','glaza-core') ?></label>
<input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id( 'categories' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'categories' )); ?>" value="<?php if( !empty($instance['categories']) ) echo esc_attr($instance['categories']); ?>" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'tags' )); ?>"><?php esc_html_e('Tags (optional, Separate tags with comma. e.g. tag1,tag2):','glaza-core') ?></label>
<input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id( 'tags' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'tags' )); ?>" value="<?php if( !empty($instance['tags']) ) echo esc_attr($instance['tags']); ?>" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'post_format' )); ?>"><?php esc_html_e('Post Format Filter:', 'glaza-core'); ?></label>
<select class="widefat" id="<?php echo esc_attr($this->get_field_id( 'post_format' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'post_format' )); ?>" >
<option value="0" <?php if( !empty($instance['post_format']) && $instance['post_format'] == '0' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('-- All --', 'glaza-core'); ?></option>
<option value="default" <?php if( !empty($instance['post_format']) && $instance['post_format'] == 'default' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Default', 'glaza-core'); ?></option>
<option value="gallery" <?php if( !empty($instance['post_format']) && $instance['post_format'] == 'gallery' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Gallery', 'glaza-core'); ?></option>
<option value="video" <?php if( !empty($instance['post_format']) && $instance['post_format'] == 'video' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Video', 'glaza-core'); ?></option>
<option value="audio" <?php if( !empty($instance['post_format']) && $instance['post_format'] == 'audio' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Audio', 'glaza-core'); ?></option>
</select>
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'posts_per_page' )); ?>"><?php esc_html_e('Limit Post Number (optional, default is 4):','glaza-core') ?></label>
<input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id( 'posts_per_page' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'posts_per_page' )); ?>" value="<?php if( !empty($instance['posts_per_page']) ) echo esc_attr($instance['posts_per_page']); ?>" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'offset' )); ?>"><?php esc_html_e('Post Offset (optional):','glaza-core') ?></label>
<input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id( 'offset' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'offset' )); ?>" value="<?php if( !empty($instance['offset']) ) echo esc_attr($instance['offset']); ?>" />
</p>
<p>
<label for="<?php echo esc_attr($this->get_field_id( 'orderby' )); ?>"><?php esc_html_e('Order By:', 'glaza-core'); ?></label>
<select class="widefat" id="<?php echo esc_attr($this->get_field_id( 'orderby' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'orderby' )); ?>" >
<option value="date_post" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'date' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Latest Post', 'glaza-core'); ?></option>
<option value="comment_count" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'comment_count' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Popular Comment', 'glaza-core'); ?></option>
<option value="popular" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'popular' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Popular View', 'glaza-core'); ?></option>
<option value="top_review" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'top_review' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Top Review', 'glaza-core'); ?></option>
<option value="last_review" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'last_review' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Latest Review', 'glaza-core'); ?></option>
<option value="post_type" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'post_type' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Post Type', 'glaza-core'); ?></option>
<option value="rand" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'rand' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Random Post', 'glaza-core'); ?></option>
<option value="author" <?php if( !empty($instance['author']) && $instance['orderby'] == 'author' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('Author', 'glaza-core'); ?></option>
<option value="alphabetical_order_asc" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'alphabetical_order_asc' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('alphabetical A->Z Posts', 'glaza-core'); ?></option>
<option value="alphabetical_order_decs" <?php if( !empty($instance['orderby']) && $instance['orderby'] == 'alphabetical_order_decs' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e('alphabetical Z->A Posts', 'glaza-core'); ?></option>
</select>
</p>
<?php
}
}
}