Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
themes
/
twentytwentyfour
/
styles
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * MagZenPro Featured Slider Widget * * @package MagZenPro */ class MagZenPro_Featured_Slider_Widget extends WP_Widget { /** * Register widget with WordPress. */ function __construct() { parent::__construct( 'magzenpro-featured-slider-widget', // Base ID sprintf( esc_html__( '%s : Featured Category Slider', 'magzenpro' ), wp_get_theme()->Name ), // Name array( 'description' => __( 'Display latest posts or posts of specific category, which will be used as the slider.', 'magzenpro' ), ) // Args ); } /** * 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 ); extract( $instance ); global $post; $instance = wp_parse_args( $instance, array( 'post_cat' => '', 'post_count' => 4, 'post_model' => __('latest','magzenpro'), ) ); if( isset($post_model) && $post_model == 'latest' ) { $magazine_args = array( 'posts_per_page' => $post_count, 'post_type' => 'post', 'post_status' => 'publish', 'ignore_sticky_posts' => true, 'order' => 'DESC', ); }else { $magazine_args = array( 'posts_per_page' => $post_count, 'post_type' => 'post', 'post_status' => 'publish', 'ignore_sticky_posts' => true, 'order' => 'DESC', 'category__in' => $post_cat ); } echo $before_widget; ?> <div class="magazine-featured-slider-wrapper clearfix"> <div class="mag-slider clearfix"> <div class="slides"><?php $magazine_featured_posts = new WP_Query( $magazine_args ); if( $magazine_featured_posts->have_posts() ) : while( $magazine_featured_posts->have_posts() ) : ?> <?php $magazine_featured_posts->the_post(); if ( has_post_thumbnail() ) : ?> <li> <div class="mag-image"> <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_post_thumbnail( 'magzenpro-slider-thumbnail', array('title' => esc_attr( get_the_title() ), 'alt' => esc_attr( get_the_title() ) ) ); ?></a> </div><!-- .entry-header --> <div class="mag-caption"><?php the_title( sprintf( '<h4 class="entry-title clearfix"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h4>' ); ?> <div class="magazine-slider-top-meta"> <span class="date-structure"> <a class="url fn n" href="<?php echo get_day_link(get_the_time('Y'), get_the_time('m'),get_the_time('d')); ?>"><i class="fa fa-calendar-o"></i><?php the_time('F j, Y'); ?></a> </span> <?php printf( _x( '%s', 'post author', 'magzenpro' ), '<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '"><i class="fa fa-user"></i> ' . esc_html( get_the_author() ) . '</a></span>' ); if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) { echo ' <span class="comments-link"><i class="fa fa-comments"></i>'; comments_popup_link( __( 'Leave a comment', 'magzenpro' ), __( '1 Comment', 'magzenpro' ), __( '% Comments', 'magzenpro' ) ); echo '</span>'; } ?> </div> </div><!-- .entry-content --> </li><?php endif; endwhile; endif; ?> </div> </div> </div><?php // Reset Post Data wp_reset_postdata(); echo $after_widget; } /** * Display the flexcount widget form. * * @param array $instance * @return string|void */ public function form( $instance ) { $instance = wp_parse_args( $instance, array( 'post_cat' => '', 'post_count' => 4, 'post_model' => __('latest','magzenpro'), ) ); ?> <?php echo '<p style="display:block; margin: 20px 0px;">Layout will be as below:<br><img src="'. get_template_directory_uri() .'/images/widget-slider.png"></p>';?> <p> <label for="<?php echo $this->get_field_id('post_count') ?>"><?php _e('No. of Posts to display', 'magzenpro') ?></label> <input type="text" class="widefat" id="<?php echo $this->get_field_id('post_count') ?>" name="<?php echo $this->get_field_name('post_count') ?>" value="<?php echo esc_attr($instance['post_count']) ?>" /> </p> <p> <input type="radio" <?php checked($instance['post_model'],'latest') ?> id="<?php echo $this->get_field_id( 'post_model' ); ?>" name="<?php echo $this->get_field_name( 'post_model' ); ?>" value="latest"/><?php _e( 'Show latest Posts', 'magzenpro' );?><br /> <input type="radio" <?php checked($instance['post_model'],'category') ?> id="<?php echo $this->get_field_id( 'post_model' ); ?>" name="<?php echo $this->get_field_name( 'post_model' ); ?>" value="category"/><?php _e( 'Show posts from a category', 'magzenpro' );?><br /> </p> <p> <label for="<?php echo $this->get_field_id('post_cat') ?>"><?php _e(' Select Category ', 'magzenpro') ?></label> <?php wp_dropdown_categories(array( 'name' => $this->get_field_name( 'post_cat' ),'show_option_all' => __('All Category','magzenpro'),'show_count' => true, 'selected' => $instance['post_cat'] ) ); ?> </p> <?php } public function update( $new_instance, $old_instance ) { $instance = array(); $instance['post_cat'] = ( ! empty( $new_instance['post_cat'] ) ) ? strip_tags( $new_instance['post_cat'] ) : ''; $instance['post_count'] = ( ! empty( $new_instance['post_count'] ) ) ? strip_tags( $new_instance['post_count'] ) : ''; $instance['post_model'] = ( ! empty( $new_instance['post_model'] ) ) ? strip_tags( $new_instance['post_model'] ) : ''; return $instance; } } // class Foo_Widget