| 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_fw_list' ) ) :
class glaza_widget_fw_list extends WP_Widget {
function __construct() {
$widget_ops = array(
'classname' => 'widget-fw-list',
'description' => esc_html__( 'Display list in the full width section.', 'glaza-core' )
);
parent::__construct( 'fw_list', esc_html__( '[Full Width] List', 'glaza-core' ), $widget_ops );
}
function widget( $args, $instance ) {
$instance = wp_parse_args( $instance, array(
'title' => '',
'title_url' => '',
'category' => '',
'categories' => '',
'tags' => '',
'post_format' => 0,
'posts_per_page' => 4,
'offset' => 0,
'orderby' => 'date_post',
'excerpt' => 29,
'readmore' => 1,
'quick_filter' => '',
'quick_filter_id' => '',
'pagination' => '',
'shopthepost' => 1,
'product_columns' => 5
) );
$instance['title'] = apply_filters( 'widget_title', $instance['title'] );
$instance['block_id'] = $args['widget_id'];
if ( empty( $instance['product_columns'] ) ) {
$instance['product_columns'] = glaza_get_option( 'list_products_per_row' );
}
echo $args['before_widget'];
if ( function_exists( 'glaza_fw_list' ) ) {
glaza_fw_list( $instance );
}
echo $args['after_widget'];
}
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = esc_html( $new_instance['title'] );
$instance['title_url'] = esc_url( $new_instance['title_url'] );
$instance['category'] = esc_attr( $new_instance['category'] );
$instance['categories'] = esc_attr( $new_instance['categories'] );
$instance['tags'] = esc_attr( $new_instance['tags'] );
$instance['post_format'] = esc_attr( $new_instance['post_format'] );
$instance['posts_per_page'] = absint( esc_attr( $new_instance['posts_per_page'] ) );
$instance['offset'] = absint( esc_attr( $new_instance['offset'] ) );
$instance['orderby'] = esc_attr( $new_instance['orderby'] );
$instance['excerpt'] = absint( esc_attr( $new_instance['excerpt'] ) );
$instance['readmore'] = esc_attr( $new_instance['readmore'] );
$instance['quick_filter'] = esc_attr( $new_instance['quick_filter'] );
$instance['quick_filter_id'] = esc_attr( $new_instance['quick_filter_id'] );
$instance['pagination'] = esc_attr( $new_instance['pagination'] );
$instance['shopthepost'] = esc_attr( $new_instance['shopthepost'] );
$instance['product_columns'] = absint( esc_attr( $new_instance['product_columns'] ) );
return $instance;
}
function form( $instance ) {
$defaults = array(
'title' => esc_html__( 'Latest Stories', 'glaza-core' ),
'title_url' => '',
'category' => '',
'categories' => '',
'tags' => '',
'post_format' => 0,
'posts_per_page' => 4,
'offset' => 0,
'orderby' => 'date_post',
'excerpt' => 20,
'readmore' => 1,
'quick_filter' => '',
'quick_filter_id' => '',
'pagination' => '',
'shopthepost' => 1,
'product_columns' => 5
);
$instance = wp_parse_args( (array) $instance, $defaults ); ?>
<h3 class="glaza-wh"><?php esc_html_e( 'Header Options', 'glaza-core' ) ?></h3>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><strong><?php esc_html_e( 'Title:', 'glaza-core' ) ?></strong></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( 'title_url' ) ); ?>"><?php esc_html_e( 'Title URL (optional):', 'glaza-core' ) ?></label>
<input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title_url' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title_url' ) ); ?>" value="<?php if ( ! empty( $instance['title_url'] ) ) echo esc_html( $instance['title_url'] ); ?>"/>
</p>
<h3 class="glaza-wh"><?php esc_html_e( 'Filter Options', 'glaza-core' ) ?></h3>
<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 ) . ' ( ID:' . esc_attr( $category->term_id ) . ' )'; ?></option>
<?php endforeach; ?>
</select>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'categories' ) ); ?>"><strong><?php esc_html_e( 'Multiple Categories Filter:', 'glaza-core' ) ?></strong></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'] ); ?>"/>
<em><?php esc_html_e( 'Optional, Input category IDs, separated by comma. example: 1,2', 'glaza-core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'tags' ) ); ?>"><strong><?php esc_html_e( 'Multiple Tags Filter:', 'glaza-core' ) ?></strong></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'] ); ?>"/>
<em><?php esc_html_e( 'Optional, Input tag terms names (the name that is in the URL), separated by comma. example: tag1, tag2', 'glaza-core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'post_format' ) ); ?>"><strong><?php esc_html_e( 'Post Format Filter:', 'glaza-core' ); ?></strong></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' ) ); ?>"><strong><?php esc_html_e( 'Total Posts:', 'glaza-core' ) ?></strong></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' ) ); ?>"><strong><?php esc_html_e( 'Post Offset:', 'glaza-core' ) ?></strong></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'] ); ?>"/>
<em><?php esc_html_e( 'Optional, number of post to displace or pass over.', 'glaza_core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'orderby' ) ); ?>"><strong><?php esc_html_e( 'Order By:', 'glaza-core' ); ?></strong></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>
<h3 class="glaza-wh"><?php esc_html_e( 'Pagination Options', 'glaza-core' ) ?></h3>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'quick_filter' ) ); ?>"><strong><?php esc_html_e( 'Ajax Quick Filter:', 'glaza-core' ); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'quick_filter' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'quick_filter' ) ); ?>">
<option value="0" <?php if ( ! empty( $instance['quick_filter'] ) && $instance['quick_filter'] == '0' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '--Disable--', 'glaza-core' ); ?></option>
<option value="category" <?php if ( ! empty( $instance['quick_filter'] ) && $instance['quick_filter'] == 'category' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Categories', 'glaza-core' ); ?></option>
<option value="tag" <?php if ( ! empty( $instance['quick_filter'] ) && $instance['quick_filter'] == 'tag' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Tags', 'glaza-core' ); ?></option>
<option value="author" <?php if ( ! empty( $instance['quick_filter'] ) && $instance['quick_filter'] == 'author' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Author', 'glaza-core' ); ?></option>
<option value="popular" <?php if ( ! empty( $instance['quick_filter'] ) && $instance['quick_filter'] == 'popular' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Popular', 'glaza-core' ); ?></option>
</select>
<em><?php esc_html_e( 'select a type for the ajax quick filters feature. This option will display at the bottom of this widget header.', 'glaza-core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'quick_filter_id' ) ); ?>"><strong><?php esc_html_e( 'Quick Filter IDs:', 'glaza-core' ) ?></strong></label>
<input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'quick_filter_id' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'quick_filter_id' ) ); ?>" value="<?php if ( ! empty( $instance['quick_filter_id'] ) ) echo esc_attr( $instance['quick_filter_id'] ); ?>"/>
<em><?php esc_html_e( 'input IDs of the filters (category IDs, author IDs, OR tag names) you want to show, separated by commas, Leave blank if you want to show all.', 'glaza-core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'pagination' ) ); ?>"><strong><?php esc_html_e( 'Ajax Pagination:', 'glaza-core' ); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'pagination' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'pagination' ) ); ?>">
<option value="0" <?php if ( ! empty( $instance['pagination'] ) && $instance['pagination'] == '0' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '--Disable--', 'glaza-core' ); ?></option>
<option value="next_prev" <?php if ( ! empty( $instance['pagination'] ) && $instance['pagination'] == 'next_prev' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Next Prev', 'glaza-core' ); ?></option>
<option value="loadmore" <?php if ( ! empty( $instance['pagination'] ) && $instance['pagination'] == 'loadmore' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Load More', 'glaza-core' ); ?></option>
<option value="infinite" <?php if ( ! empty( $instance['pagination'] ) && $instance['pagination'] == 'infinite' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'infinite Scroll', 'glaza-core' ); ?></option>
</select> <em><?php esc_html_e( 'select a pagination type for this widget.', 'glaza-core' ); ?></em>
</p>
<h3 class="glaza-wh"><?php esc_html_e( 'Styling Options', 'glaza-core' ) ?></h3>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'excerpt' ) ); ?>"><strong><?php esc_html_e( 'Post Excerpt Length:', 'glaza-core' ) ?></strong></label>
<input type="text" class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'excerpt' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'excerpt' ) ); ?>" value="<?php if ( ! empty( $instance['excerpt'] ) ) echo esc_attr( $instance['excerpt'] ); ?>"/>
<em><?php esc_html_e( 'Length of the post excerpt. Leave blank if you would like to remove it', 'glaza_core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'readmore' ) ); ?>"><strong><?php esc_html_e( 'Read More:', 'glaza-core' ); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'readmore' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'readmore' ) ); ?>">
<option value="0" <?php if ( ! empty( $instance['readmore'] ) && $instance['readmore'] == '0' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '--Disable--', 'glaza-core' ); ?></option>
<option value="1" <?php if ( ! empty( $instance['readmore'] ) && $instance['readmore'] == '1' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Enable', 'glaza-core' ); ?></option>
</select>
<em><?php esc_html_e( 'Enable or disable read more button in the listing.', 'glaza_core' ); ?></em>
</p>
<h3 class="glaza-wh"><?php esc_html_e( 'Shop The Post Options', 'glaza-core' ) ?></h3>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'shopthepost' ) ); ?>"><strong><?php esc_html_e( 'Shop The Post:', 'glaza-core' ); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'shopthepost' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'shopthepost' ) ); ?>">
<option value="0" <?php if ( ! empty( $instance['shopthepost'] ) && $instance['shopthepost'] == '0' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '--Disable--', 'glaza-core' ); ?></option>
<option value="1" <?php if ( ! empty( $instance['shopthepost'] ) && $instance['shopthepost'] == '1' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( 'Enable', 'glaza-core' ); ?></option>
</select>
<em><?php esc_html_e( 'Enable or disable products in the listing.', 'glaza_core' ); ?></em>
</p>
<p>
<label for="<?php echo esc_attr( $this->get_field_id( 'product_columns' ) ); ?>"><strong><?php esc_html_e( 'Product Columns:', 'glaza-core' ); ?></strong></label>
<select class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'product_columns' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'product_columns' ) ); ?>">
<option value="0" <?php if ( ! empty( $instance['product_columns'] ) && $instance['product_columns'] == '0' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '--Default Theme Options--', 'glaza-core' ); ?></option>
<option value="4" <?php if ( ! empty( $instance['product_columns'] ) && $instance['product_columns'] == '4' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '4', 'glaza-core' ); ?></option>
<option value="5" <?php if ( ! empty( $instance['product_columns'] ) && $instance['product_columns'] == '5' ) echo "selected=\"selected\""; else echo ""; ?>><?php esc_html_e( '5', 'glaza-core' ); ?></option>
</select>
</p>
<?php
}
}
endif;