esc_html__( 'Filters Widget', 'filter-everything' ), 'show_instance_in_rest' => false, ) ); } /** * 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 ); $title = isset( $instance['title'] ) ? apply_filters( 'widget_title', $instance['title'] ) : ''; $show_selected_class = ( !empty( $instance['chips'] ) ) ? ' wpc-show-on-desktop' : ''; $show_count = ( !empty( $instance['show_count'] ) ) ? $instance['show_count'] : ''; $set_id = isset( $instance['id'] ) ? preg_replace('/[^\d]?/', '', $instance['id'] ) : 0; // Display nothing if preview mode if( isset( $_GET['legacy-widget-preview'] ) || isset( $_GET['_locale'] ) ){ return; } if( isset( $_POST['action'] ) && $_POST['action'] === 'elementor_ajax' ){ echo ''.esc_html__( 'Filters Widget', 'filter-everything' ).''; return; } /** * @feature Add ability to choose what filter Set to display in widget settings */ $debug_mode = flrt_is_debug_mode(); $container = Container::instance(); $wpManager = $container->getWpManager(); if( ! $wpManager->getQueryVar( 'allowed_filter_page' ) ){ if( $debug_mode ){ if( defined('FLRT_FILTERS_PRO') ){ echo '
'; }else{ if( is_singular() ){ echo ''; }else{ echo ''; } } flrt_debug_title(); } return false; } $templateManager = $container->getTemplateManager(); $em = $container->getEntityManager(); $fss = $container->getFilterSetService(); $urlManager = new UrlManager(); $has_not_empty_children = []; $theSet = flrt_the_set( $set_id ); if( ! $theSet ){ return false; } $setId = $theSet['ID']; $posType = $theSet['filtered_post_type']; $set = $fss->getSet( $theSet['ID'] ); $chipsObj = new Chips(true, array($setId) ); $chips = $chipsObj->getChips(); $set_edit_url = ( isset( $theSet['ID'] )) ? admin_url('post.php?post='.$theSet['ID'].'&action=edit') : admin_url( 'edit.php?post_type=filter-set' ); $related_filters = $em->getSetsRelatedFilters( array( $theSet ) ); $found_posts = flrt_posts_found_quantity( $setId, true ); $actionUrl = $urlManager->getFormActionUrl(true); if( empty( $related_filters ) ){ if( $debug_mode ){ echo ''; flrt_debug_title(); } return false; } echo $before_widget; echo ''."\n"; // echo $after_widget; } public function form( $instance ) { $title = isset( $instance[ 'title' ] ) ? $instance[ 'title' ] : ''; $chips = isset( $instance['chips'] ) ? (bool) $instance['chips'] : false; $show_count = isset( $instance['show_count'] ) ? (bool) $instance['show_count'] : true; ?>
/>
/>