????JFIF??x?x????'
Server IP : 104.21.96.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./tempvsty/pontiacques.org/wp-content/themes/layerswp/core/widgets/modules/ |
Upload File : |
<?php /** * Post Widget * * This file is used to register and display the Layers - Post widget. * * @package Layers * @since Layers 1.0.0 */ if( !class_exists( 'Layers_Post_Widget' ) ) { class Layers_Post_Widget extends Layers_Widget { /** * Widget construction */ function __construct() { /** * Widget variables * * @param string $widget_title Widget title * @param string $widget_id Widget slug for use as an ID/classname * @param string $post_type (optional) Post type for use in widget options * @param string $taxonomy (optional) Taxonomy slug for use as an ID/classname * @param array $checkboxes (optional) Array of checkbox names to be saved in this widget. Don't forget these please! */ $this->widget_title = __( 'Posts' , 'layerswp' ); $this->widget_id = 'post'; $this->post_type = 'post'; $this->taxonomy = 'category'; $this->checkboxes = array( 'show_media', 'show_titles', 'show_excerpts', 'show_dates', 'show_author', 'show_tags', 'show_categories', 'show_call_to_action' ); // @TODO: Try make this more dynamic, or leave a different note reminding users to change this if they add/remove checkboxes $this->support_lightbox = true; /* Widget settings. */ $widget_ops = array( 'classname' => 'obox-layers-' . $this->widget_id .'-widget', 'description' => __( 'This widget is used to display your posts in a flexible grid.', 'layerswp' ), 'customize_selective_refresh' => TRUE, ); /* Widget control settings. */ $control_ops = array( 'width' => LAYERS_WIDGET_WIDTH_SMALL, 'height' => NULL, 'id_base' => LAYERS_THEME_SLUG . '-widget-' . $this->widget_id, ); /* Create the widget. */ parent::__construct( LAYERS_THEME_SLUG . '-widget-' . $this->widget_id, $this->widget_title, $widget_ops, $control_ops ); /* Setup Widget Defaults */ $this->defaults = array ( 'title' => __( 'Latest Posts', 'layerswp' ), 'excerpt' => __( 'Stay up to date with all our latest news and launches. Only the best quality makes it onto our blog!', 'layerswp' ), 'text_style' => 'regular', 'category' => 0, 'show_media' => 'on', 'show_titles' => 'on', 'show_excerpts' => 'on', 'show_dates' => 'on', 'show_author' => 'on', 'show_tags' => 'on', 'show_categories' => 'on', 'show_pagination' => 'on', 'excerpt_length' => 200, 'show_call_to_action' => 'on', 'call_to_action' => __( 'Read More' , 'layerswp' ), 'posts_per_page' => get_option( 'posts_per_page' ), 'design' => array( 'layout' => 'layout-boxed', 'imageratios' => 'image-square', 'textalign' => 'text-left', 'liststyle' => 'list-grid', 'columns' => '3', 'gutter' => 'on', 'background' => array( 'position' => 'center', 'repeat' => 'no-repeat' ), 'fonts' => array( 'align' => 'text-left', 'size' => 'medium', 'color' => NULL, 'shadow' => NULL, 'heading-type' => 'h3', ), 'buttons' => array( 'buttons-size' => 'medium', ), 'advanced' => array ( 'animation' => 'on', ) ), ); } /** * Widget front end display */ function widget( $args, $instance ) { global $wp_customize; $this->backup_inline_css(); // Turn $args array into variables. extract( $args ); // Use defaults if $instance is empty. if( empty( $instance ) && ! empty( $this->defaults ) ) { $instance = wp_parse_args( $instance, $this->defaults ); } // Mix in new/unset defaults on every instance load (NEW) $instance = $this->apply_defaults( $instance ); // Enqueue Masonry if need be if( 'list-masonry' == $this->check_and_return( $instance , 'design', 'liststyle' ) || $wp_customize ) { wp_enqueue_script( LAYERS_THEME_SLUG . '-layers-masonry-js' ); } // Set the span class for each column if( 'list-list' == $instance['design'][ 'liststyle' ] ) { $col_count = 1; $span_class = 'span-12'; } else if( isset( $instance['design'][ 'columns'] ) ) { $col_count = str_ireplace('columns-', '', $instance['design'][ 'columns'] ); $span_class = 'span-' . ( 12/ $col_count ); } else { $col_count = 3; $span_class = 'span-4'; } // Apply Styling if( NULL !== $this->check_and_return( $instance, 'design', 'background' ) ) $this->inline_css .= layers_inline_styles( "#{$widget_id}", 'background', array( 'background' => $this->check_and_return( $instance, 'design', 'background' ) ) ); if( NULL !== $this->check_and_return( $instance, 'design', 'fonts', 'color' ) ) $this->inline_css .= layers_inline_styles( "#{$widget_id}", 'color', array( 'selectors' => array( '.section-title .heading' , '.section-title div.excerpt' ) , 'color' => $this->check_and_return( $instance, 'design', 'fonts', 'color' ) ) ); if( NULL !== $this->check_and_return( $instance, 'design', 'fonts', 'excerpt-color' ) ) $this->inline_css .= layers_inline_styles( "#{$widget_id}", 'color', array( 'selectors' => array( '.section-title div.excerpt', '.section-title div.excerpt p' , '.section-title div.excerpt a' ) , 'color' => $this->check_and_return( $instance, 'design', 'fonts', 'excerpt-color' ) ) ); if( NULL !== $this->check_and_return( $instance, 'design', 'column-text-color' ) ) $this->inline_css .= layers_inline_styles( "#{$widget_id}", 'color', array( 'selectors' => array( '.thumbnail-body .heading a', '.thumbnail-body .excerpt', '.thumbnail-body footer', '.thumbnail-body footer a' ) , 'color' => $this->check_and_return( $instance, 'design', 'column-text-color' ) ) ); if( NULL !== $this->check_and_return( $instance, 'design', 'column', 'background', 'style' ) ){ $bg_args = array( 'color' => $this->check_and_return( $instance, 'design', 'column-background-color' ) ); if( is_array( $this->check_and_return( $instance, 'design', 'column', 'background' ) ) ){ $bg = $this->check_and_return( $instance, 'design', 'column', 'background' ); } else { $bg = array(); } $bg_args = array_merge( $bg , $bg_args ); } else if( NULL !== $this->check_and_return( $instance, 'design', 'design', 'column-background-color' ) ){ $bg_args = array( 'background' => array( 'color' => $this->check_and_return( $instance, 'design', 'design', 'column-background-color' ) ) ); } if( isset( $bg_args ) ) $this->inline_css .= layers_inline_styles( "#{$widget_id}", 'background', array( 'selectors' => array( '.thumbnail-body' ), 'background' => $bg_args ) ); // Apply Button Styling. $button_size = ''; if ( function_exists( 'layers_pro_apply_widget_button_styling' ) ) { // Apply Layers Pro Button Styling. $this->inline_css .= layers_pro_apply_widget_button_styling( $this, $instance, array( ".{$widget_id} .thumbnail-body a.button" ) ); $button_size = $this->check_and_return( $instance, 'design', 'buttons-size' ) ? 'btn-' . $this->check_and_return( $instance, 'design', 'buttons-size' ) : '' ; } else { // Apply Button Styling. $this->inline_css .= layers_inline_button_styles( ".{$widget_id}", 'button', array( 'selectors' => array( '.thumbnail-body a.button' ) ,'button' => $this->check_and_return( $instance, 'design', 'buttons' ) ) ); } // Set Image Sizes if( isset( $instance['design'][ 'imageratios' ] ) ){ // Translate Image Ratio $image_ratio = layers_translate_image_ratios( $instance['design'][ 'imageratios' ] ); if( 'layout-boxed' == $this->check_and_return( $instance , 'design', 'layout' ) && $col_count > 2 ){ $use_image_ratio = $image_ratio . '-medium'; } elseif( 'layout-boxed' != $this->check_and_return( $instance , 'design', 'layout' ) && $col_count > 3 ){ $use_image_ratio = $image_ratio . '-large'; } else { $use_image_ratio = $image_ratio . '-large'; } } else { $use_image_ratio = 'large'; } // Begin query arguments $query_args = array(); if( get_query_var('paged') ) { $query_args[ 'paged' ] = get_query_var('paged') ; } else if ( get_query_var('page') ) { $query_args[ 'paged' ] = get_query_var('page'); } else { $query_args[ 'paged' ] = 1; } $query_args[ 'post_type' ] = $this->post_type; $query_args[ 'posts_per_page' ] = $instance['posts_per_page']; if( isset( $instance['order'] ) ) { $decode_order = json_decode( $instance['order'], true ); if( is_array( $decode_order ) ) { foreach( $decode_order as $key => $value ){ $query_args[ $key ] = $value; } } } // Do the special taxonomy array() if( isset( $instance['category'] ) && '' != $instance['category'] && 0 != $instance['category'] ){ $query_args['tax_query'] = array( array( "taxonomy" => $this->taxonomy, "field" => "id", "terms" => $instance['category'] ) ); } elseif( !isset( $instance['hide_category_filter'] ) ) { $terms = get_terms( $this->taxonomy ); } // if we haven't selected which category to show, let's load the $terms for use in the filter // Do the WP_Query $post_query = new WP_Query( $query_args ); // Set the meta to display global $layers_post_meta_to_display; $layers_post_meta_to_display = array(); if( isset( $instance['show_dates'] ) ) $layers_post_meta_to_display[] = 'date'; if( isset( $instance['show_author'] ) ) $layers_post_meta_to_display[] = 'author'; if( isset( $instance['show_categories'] ) ) $layers_post_meta_to_display[] = 'categories'; if( isset( $instance['show_tags'] ) ) $layers_post_meta_to_display[] = 'tags'; // Apply the advanced widget styling $this->apply_widget_advanced_styling( $widget_id, $instance ); /** * Generate the widget container class */ $widget_container_class = array(); $widget_container_class[] = $widget_id; $widget_container_class[] = 'widget'; $widget_container_class[] = 'layers-post-widget'; $widget_container_class[] = 'content-vertical-massive'; $widget_container_class[] = 'clearfix'; $widget_container_class[] = ( 'on' == $this->check_and_return( $instance , 'design', 'background', 'darken' ) ? 'darken' : '' ); $widget_container_class[] = $this->check_and_return( $instance , 'design', 'advanced', 'customclass' ); // Apply custom class from design-bar's advanced control. $widget_container_class[] = $this->get_widget_spacing_class( $instance ); $widget_container_class[] = $this->get_animation_class( $instance ); $widget_container_class = apply_filters( 'layers_post_widget_container_class' , $widget_container_class, $this, $instance ); $widget_container_class = implode( ' ', $widget_container_class ); // Custom Anchor echo $this->custom_anchor( $instance ); ?> <div id="<?php echo esc_attr( $widget_id ); ?>" class="<?php echo esc_attr( $widget_container_class ); ?>" <?php $this->selective_refresh_atts( $args ); ?>> <?php do_action( 'layers_before_post_widget_inner', $this, $instance ); ?> <?php if( '' != $this->check_and_return( $instance , 'title' ) ||'' != $this->check_and_return( $instance , 'excerpt' ) ) { ?> <div class="container clearfix"> <?php /** * Generate the Section Title Classes */ $section_title_class = array(); $section_title_class[] = 'section-title clearfix'; $section_title_class[] = $this->check_and_return( $instance , 'design', 'fonts', 'size' ); $section_title_class[] = $this->check_and_return( $instance , 'design', 'fonts', 'align' ); $section_title_class[] = ( $this->check_and_return( $instance, 'design', 'background' , 'color' ) && 'dark' == layers_is_light_or_dark( $this->check_and_return( $instance, 'design', 'background' , 'color' ) ) ? 'invert' : '' ); $section_title_class = implode( ' ', $section_title_class ); ?> <div class="<?php echo $section_title_class; ?>"> <?php if( '' != $this->check_and_return( $instance, 'title' ) ) { ?> <<?php echo $this->check_and_return( $instance, 'design', 'fonts', 'heading-type' ); ?> class="heading"> <?php echo $instance['title'] ?> </<?php echo $this->check_and_return( $instance, 'design', 'fonts', 'heading-type' ); ?>> <?php } ?> <?php if( '' != $this->check_and_return( $instance, 'excerpt' ) ) { ?> <div class="excerpt"><?php echo layers_the_content( $instance['excerpt'] ); ?></div> <?php } ?> </div> </div> <?php } ?> <?php if( $post_query->have_posts() ) { ?> <div class="<?php echo $this->get_widget_layout_class( $instance ); ?> <?php echo $this->check_and_return( $instance , 'design', 'liststyle' ); ?>"> <div class="grid"> <?php while( $post_query->have_posts() ) { $post_query->the_post(); if( 'list-list' == $instance['design'][ 'liststyle' ] ) { ?> <article id="post-<?php the_ID(); ?>" class="clearfix push-bottom-large"> <?php if( isset( $instance['show_titles'] ) ) { ?> <header class="section-title large"> <h1 class="heading"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> </header> <?php } ?> <?php // Layers Featured Media ); if( isset( $instance['show_media'] ) ) { echo layers_post_featured_media( array( 'postid' => get_the_ID(), 'wrap_class' => 'thumbnail push-bottom span-5 column' . ( 'image-round' == $this->check_and_return( $instance, 'design', 'imageratios' ) ? ' image-rounded' : '' ), 'size' => $use_image_ratio ) ); } // if Show Media ?> <?php if( isset( $instance['show_excerpts'] ) || $instance['show_call_to_action'] || ! empty( $layers_post_meta_to_display ) ) { ?> <div class="column span-7"> <?php if( isset( $instance['show_excerpts'] ) ) { if( isset( $instance['excerpt_length'] ) && '' == $instance['excerpt_length'] ) { echo '<div class="copy push-bottom">'; the_content(); echo '</div>'; } else if( isset( $instance['excerpt_length'] ) && 0 != $instance['excerpt_length'] && strlen( get_the_excerpt() ) > $instance['excerpt_length'] ){ echo '<div class="copy push-bottom">' . substr( get_the_excerpt() , 0 , $instance['excerpt_length'] ) . '…</div>'; } else if( '' != get_the_excerpt() ){ echo '<div class="copy push-bottom">' . get_the_excerpt() . '</div>'; } }; ?> <?php layers_post_meta( get_the_ID(), $layers_post_meta_to_display, 'footer' , 'meta-info push-bottom ' . ( '' != $this->check_and_return( $instance, 'design', 'column-background-color' ) && 'dark' == layers_is_light_or_dark( $this->check_and_return( $instance, 'design', 'column-background-color' ) ) ? 'invert' : '' ) );?> <?php if( isset( $instance['show_call_to_action'] ) && $this->check_and_return( $instance , 'call_to_action' ) ) { ?> <p><a href="<?php the_permalink(); ?>" class="button <?php echo $button_size; ?>"><?php echo $instance['call_to_action']; ?></a></p> <?php } // show call to action ?> </div> <?php } ?> </article> <?php } else { /** * Set Individual Column CSS */ $post_column_class = array(); $post_column_class[] = 'layers-masonry-column'; $post_column_class[] = 'thumbnail'; $post_column_class[] = $span_class; $post_column_class[] = ( 'list-masonry' == $this->check_and_return( $instance, 'design', 'liststyle' ) ? 'no-gutter' : '' ); $post_column_class[] = ( 'on' != $this->check_and_return( $instance, 'design', 'gutter' ) ? 'column-flush' : 'column' ); $post_column_class[] = ( 'overlay' == $this->check_and_return( $instance , 'text_style' ) ? 'with-overlay' : '' ) ; $post_column_class[] = ( '' != $this->check_and_return( $instance, 'design' , 'column-text-align' ) ? $this->check_and_return( $instance, 'design' , 'column-text-align' ) : 'text-left' ) ; $post_column_class[] = ( '' != $this->check_and_return( $instance, 'design', 'column-background-color' ) && 'dark' == layers_is_light_or_dark( $this->check_and_return( $instance, 'design', 'column-background-color' ) ) ? 'invert' : '' ); $post_column_class[] = ( 'list-masonry' == $this->check_and_return( $instance, 'design', 'liststyle' ) ? 'no-gutter' : '' ); $post_column_class = implode( ' ' , $post_column_class ); ?> <article class="<?php echo $post_column_class; ?>" data-cols="<?php echo $col_count; ?>"> <?php // Layers Featured Media if( isset( $instance['show_media'] ) ) { echo layers_post_featured_media( array( 'postid' => get_the_ID(), 'wrap_class' => 'thumbnail-media' . ( ( 'image-round' == $this->check_and_return( $instance, 'design', 'imageratios' ) ) ? ' image-rounded' : '' ), 'size' => $use_image_ratio, 'hide_href' => false ) ); } // if Show Media ?> <?php if( isset( $instance['show_titles'] ) || isset( $instance['show_excerpts'] ) ) { ?> <div class="thumbnail-body"> <div class="overlay"> <?php if( isset( $instance['show_titles'] ) ) { ?> <header class="article-title"> <h4 class="heading"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> </header> <?php } ?> <?php if( isset( $instance['show_excerpts'] ) ) { if( isset( $instance['excerpt_length'] ) && '' == $instance['excerpt_length'] ) { echo '<div class="excerpt">'; the_content(); echo '</div>'; } else if( isset( $instance['excerpt_length'] ) && 0 != $instance['excerpt_length'] && strlen( get_the_excerpt() ) > $instance['excerpt_length'] ){ echo '<div class="excerpt">' . substr( get_the_excerpt() , 0 , $instance['excerpt_length'] ) . '…</div>'; } else if( '' != get_the_excerpt() ){ echo '<div class="excerpt">' . get_the_excerpt() . '</div>'; } }; ?> <?php if( 'overlay' != $this->check_and_return( $instance, 'text_style' ) ) { ?> <?php layers_post_meta( get_the_ID(), $layers_post_meta_to_display, 'footer' , 'meta-info ' . ( '' != $this->check_and_return( $instance, 'design', 'column-background-color' ) && 'dark' == layers_is_light_or_dark( $this->check_and_return( $instance, 'design', 'column-background-color' ) ) ? 'invert' : '' ) );?> <?php } // Don't show meta if we have chosen overlay ?> <?php if( isset( $instance['show_call_to_action'] ) && $this->check_and_return( $instance , 'call_to_action' ) ) { ?> <a href="<?php the_permalink(); ?>" class="button <?php echo $button_size; ?>"><?php echo $instance['call_to_action']; ?></a> <?php } // show call to action ?> </div> </div> <?php } // if show titles || show excerpt ?> </article> <?php }; // if list-list == liststyle ?> <?php }; // while have_posts ?> </div><!-- /row --> </div> <?php }; // if have_posts ?> <?php if( isset( $instance['show_pagination'] ) ) { ?> <div class="container"> <?php layers_pagination( array( 'query' => $post_query ), 'div', 'pagination clearfix' ); ?> </div> <?php } ?> <?php do_action( 'layers_after_post_widget_inner', $this, $instance ); // Print the Inline Styles for this Widget $this->print_inline_css( $this, $instance ); if( 'list-masonry' == $this->check_and_return( $instance , 'design', 'liststyle' ) ) { ?> <script type='text/javascript'> jQuery(function($){ $('#<?php echo $widget_id; ?>').find('.list-masonry .grid').layers_masonry({ itemSelector: '.layers-masonry-column', gutter: <?php echo ( isset( $instance['design'][ 'gutter' ] ) ? 20 : 0 ); ?>, }); }); </script> <?php } // masonry trigger ?> </div> <?php // Reset WP_Query wp_reset_postdata(); } /** * Widget update */ function update($new_instance, $old_instance) { if ( isset( $this->checkboxes ) ) { foreach( $this->checkboxes as $cb ) { if( isset( $old_instance[ $cb ] ) ) { $old_instance[ $cb ] = strip_tags( $new_instance[ $cb ] ); } } // foreach checkboxes } // if checkboxes return $new_instance; } /** * Widget form * * We use regulage HTML here, it makes reading the widget much easier than if we used just php to echo all the HTML out. * */ function form( $instance ){ // Use defaults if $instance is empty. if( empty( $instance ) && ! empty( $this->defaults ) ) { $instance = wp_parse_args( $instance, $this->defaults ); } // Mix in new/unset defaults on every instance load (NEW) $instance = $this->apply_defaults( $instance ); $this->design_bar( 'side', // CSS Class Name array( // Widget Object 'name' => $this->get_layers_field_name( 'design' ), 'id' => $this->get_layers_field_id( 'design' ), 'widget_id' => $this->widget_id, 'widget_object' => $this, ), $instance, // Widget Values apply_filters( 'layers_post_widget_design_bar_components' , array( // Components 'layout', 'display' => array( 'icon-css' => 'icon-display', 'label' => __( 'Display', 'layerswp' ), 'elements' => array( 'text-style-start' => array( 'type' => 'group-start', 'label' => __( 'Title & Excerpt Position', 'layerswp' ), ), 'text_style' => array( 'type' => 'select', 'name' => $this->get_layers_field_name( 'text_style' ) , 'id' => $this->get_layers_field_id( 'text_style' ) , 'value' => ( isset( $instance['text_style'] ) ) ? $instance['text_style'] : NULL, 'label' => __( '' , 'layerswp' ), 'options' => array( 'regular' => __( 'Regular' , 'layerswp' ), 'overlay' => __( 'Overlay' , 'layerswp' ) ) ), 'show_media' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_media' ) , 'id' => $this->get_layers_field_id( 'show_media' ) , 'value' => ( isset( $instance['show_media'] ) ) ? $instance['show_media'] : NULL, 'label' => __( 'Show Featured Images' , 'layerswp' ) ), 'imageratios' => array( 'type' => 'select-icons', 'label' => __( 'Image Ratios', 'layerswp' ), 'name' => $this->get_layers_field_name( 'design', 'imageratios' ), 'id' => $this->get_layers_field_id( 'design', 'imageratios' ), 'value' => ( isset( $this->values['imageratios'] ) ) ? $this->values['imageratios'] : NULL, 'options' => array( 'image-portrait' => __( 'Portrait', 'layerswp' ), 'image-landscape' => __( 'Landscape', 'layerswp' ), 'image-square' => __( 'Square', 'layerswp' ), 'image-no-crop' => __( 'None', 'layerswp' ), 'image-round' => __( 'Round', 'layerswp' ), ), 'class' => 'layers-icon-group-inline layers-icon-group-inline-outline', 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'show_media' ), 'show-if-value' => 'true' ), ), 'show_titles' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_titles' ) , 'id' => $this->get_layers_field_id( 'show_titles' ) , 'value' => ( isset( $instance['show_titles'] ) ) ? $instance['show_titles'] : NULL, 'label' => __( 'Show Post Titles' , 'layerswp' ) ), 'show_excerpts' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_excerpts' ) , 'id' => $this->get_layers_field_id( 'show_excerpts' ) , 'value' => ( isset( $instance['show_excerpts'] ) ) ? $instance['show_excerpts'] : NULL, 'label' => __( 'Show Post Excerpts' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'text_style' ), 'show-if-value' => 'overlay', 'show-if-operator' => '!=' ), ), 'excerpt_length' => array( 'type' => 'number', 'name' => $this->get_layers_field_name( 'excerpt_length' ) , 'id' => $this->get_layers_field_id( 'excerpt_length' ) , 'min' => 0, 'max' => 10000, 'value' => ( isset( $instance['excerpt_length'] ) ) ? $instance['excerpt_length'] : NULL, 'label' => __( 'Excerpts Length' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'show_excerpts' ), 'show-if-value' => 'true' ), ), 'show_pagination' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_pagination' ) , 'id' => $this->get_layers_field_id( 'show_pagination' ) , 'value' => ( isset( $instance['show_pagination'] ) ) ? $instance['show_pagination'] : NULL, 'label' => __( 'Show Pagination' , 'layerswp' ) ), 'text-style-end' => array( 'type' => 'group-end', ), 'meta-start' => array( 'type' => 'group-start', 'label' => __( 'Meta Settings', 'layerswp' ), ), 'show_dates' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_dates' ) , 'id' => $this->get_layers_field_id( 'show_dates' ) , 'value' => ( isset( $instance['show_dates'] ) ) ? $instance['show_dates'] : NULL, 'label' => __( 'Show Post Dates' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'text_style' ), 'show-if-value' => 'overlay', 'show-if-operator' => '!=' ), ), 'show_author' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_author' ) , 'id' => $this->get_layers_field_id( 'show_author' ) , 'value' => ( isset( $instance['show_author'] ) ) ? $instance['show_author'] : NULL, 'label' => __( 'Show Post Author' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'text_style' ), 'show-if-value' => 'overlay', 'show-if-operator' => '!=' ), ), 'show_tags' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_tags' ) , 'id' => $this->get_layers_field_id( 'show_tags' ) , 'value' => ( isset( $instance['show_tags'] ) ) ? $instance['show_tags'] : NULL, 'label' => __( 'Show Tags' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'text_style' ), 'show-if-value' => 'overlay', 'show-if-operator' => '!=' ), ), 'show_categories' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_categories' ) , 'id' => $this->get_layers_field_id( 'show_categories' ) , 'value' => ( isset( $instance['show_categories'] ) ) ? $instance['show_categories'] : NULL, 'label' => __( 'Show Categories' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'text_style' ), 'show-if-value' => 'overlay', 'show-if-operator' => '!=' ), ), 'meta-end' => array( 'type' => 'group-end', ), 'cta-start' => array( 'type' => 'group-start', 'label' => __( 'Read More Button', 'layerswp' ), ), 'show_call_to_action' => array( 'type' => 'checkbox', 'name' => $this->get_layers_field_name( 'show_call_to_action' ) , 'id' => $this->get_layers_field_id( 'show_call_to_action' ) , 'value' => ( isset( $instance['show_call_to_action'] ) ) ? $instance['show_call_to_action'] : NULL, 'label' => __( 'Show "Read More" Buttons' , 'layerswp' ), ), 'call_to_action' => array( 'type' => 'text', 'name' => $this->get_layers_field_name( 'call_to_action' ) , 'id' => $this->get_layers_field_id( 'call_to_action' ) , 'value' => ( isset( $instance['call_to_action'] ) ) ? $instance['call_to_action'] : NULL, 'label' => __( '"Read More" Text' , 'layerswp' ), 'data' => array( 'show-if-selector' => '#' . $this->get_layers_field_id( 'show_call_to_action' ), 'show-if-value' => 'true' ), ), 'cta-end' => array( 'type' => 'group-end', ), ), ), 'columns', 'buttons', 'background', 'advanced', ), $this, $instance ) ); ?> <div class="layers-container-large"> <?php $this->form_elements()->header( array( 'title' => __( 'Post' , 'layerswp' ), 'icon_class' =>'post' ) ); ?> <section class="layers-accordion-section layers-content"> <div class="layers-row layers-push-bottom"> <div class="layers-form-item"> <?php echo $this->form_elements()->input( array( 'type' => 'text', 'name' => $this->get_layers_field_name( 'title' ) , 'id' => $this->get_layers_field_id( 'title' ) , 'placeholder' => __( 'Enter title here' , 'layerswp' ), 'value' => ( isset( $instance['title'] ) ) ? $instance['title'] : NULL, 'class' => 'layers-text layers-large' ) ); ?> <?php $this->design_bar( 'top', // CSS Class Name array( // Widget Object 'widget_object' => $this, 'name' => $this->get_layers_field_name( 'design' ), 'id' => $this->get_layers_field_id( 'design' ), 'widget_id' => $this->widget_id, 'show_trash' => FALSE, 'inline' => TRUE, 'align' => 'right', ), $instance, // Widget Values apply_filters( 'layers_post_widget_inline_design_bar_components', array( // Components 'header_excerpt', ), $this, $instance ) ); ?> </div> <div class="layers-form-item"> <?php echo $this->form_elements()->input( array( 'type' => 'rte', 'name' => $this->get_layers_field_name( 'excerpt' ) , 'id' => $this->get_layers_field_id( 'excerpt' ) , 'placeholder' => __( 'Short Excerpt' , 'layerswp' ), 'value' => ( isset( $instance['excerpt'] ) ) ? $instance['excerpt'] : NULL, 'class' => 'layers-textarea layers-large' ) ); ?> </div> <?php // Grab the terms as an array and loop 'em to generate the $options for the input $terms = get_terms( $this->taxonomy , array( 'hide_empty' => false ) ); if( !is_wp_error( $terms ) ) { ?> <p class="layers-form-item"> <label for="<?php echo $this->get_layers_field_id( 'category' ); ?>"><?php echo __( 'Category to Display' , 'layerswp' ); ?></label> <?php $category_options[ 0 ] = __( 'All' , 'layerswp' ); foreach ( $terms as $t ) $category_options[ $t->term_id ] = $t->name; echo $this->form_elements()->input( array( 'type' => 'select', 'name' => $this->get_layers_field_name( 'category' ) , 'id' => $this->get_layers_field_id( 'category' ) , 'placeholder' => __( 'Select a Category' , 'layerswp' ), 'value' => ( isset( $instance['category'] ) ) ? $instance['category'] : NULL, 'options' => $category_options, ) ); ?> </p> <?php } // if !is_wp_error ?> <p class="layers-form-item"> <label for="<?php echo $this->get_layers_field_id( 'posts_per_page' ); ?>"><?php echo __( 'Number of items to show' , 'layerswp' ); ?></label> <?php $select_options[ '-1' ] = __( 'Show All' , 'layerswp' ); $select_options = $this->form_elements()->get_incremental_options( $select_options , 1 , 20 , 1); echo $this->form_elements()->input( array( 'type' => 'number', 'name' => $this->get_layers_field_name( 'posts_per_page' ) , 'id' => $this->get_layers_field_id( 'posts_per_page' ) , 'value' => ( isset( $instance['posts_per_page'] ) ) ? $instance['posts_per_page'] : NULL, 'min' => '-1', 'max' => '100' ) ); ?> </p> <p class="layers-form-item"> <label for="<?php echo $this->get_layers_field_id( 'order' ); ?>"><?php echo __( 'Sort by' , 'layerswp' ); ?></label> <?php echo $this->form_elements()->input( array( 'type' => 'select', 'name' => $this->get_layers_field_name( 'order' ) , 'id' => $this->get_layers_field_id( 'order' ) , 'value' => ( isset( $instance['order'] ) ) ? $instance['order'] : NULL, 'options' => $this->form_elements()->get_sort_options() ) ); ?> </p> </div> </section> </div> <?php } // Form } // Class // Add our function to the widgets_init hook. register_widget("Layers_Post_Widget"); }