<?php /** * Same price. * * @author WpOpal Team <help@wpopal.com, info@wpopal.com> * @copyright Copyright (C) 2015 wpopal.com. All Rights Reserved. * @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html * * @website http://www.wpopal.com * @support http://www.wpopal.com/questions/ */ if ( ! defined( 'ABSPATH' ) ) { exit; } $args = [ 'post_type' => 'opalestate_property', 'posts_per_page' => $num, 'post__not_in' => [ get_the_ID() ], ]; $price = get_post_meta( get_the_ID(), OPALESTATE_PROPERTY_PREFIX . 'price', true ); $status = wp_get_post_terms( get_the_ID(), 'opalestate_status' ); $args['meta_query'] = []; $tax_query = []; if ( ! is_wp_error( $status ) && $status ) { $tax_query[] = [ 'taxonomy' => 'opalestate_status', 'field' => 'slug', 'terms' => $status[0]->slug, ]; } if ( $tax_query ) { $args['tax_query'] = [ 'relation' => 'AND' ]; $args['tax_query'] = array_merge( $args['tax_query'], $tax_query ); } $search_min_price = floatval( $price ) - floatval( $range_price ); $search_max_price = floatval( $price ) + floatval( $range_price ); if ( $search_min_price != '' && $search_min_price != '' && is_numeric( $search_min_price ) && is_numeric( $search_max_price ) ) { array_push( $args['meta_query'], [ 'key' => OPALESTATE_PROPERTY_PREFIX . 'price', 'value' => [ $search_min_price, $search_max_price ], 'compare' => 'BETWEEN', 'type' => 'NUMERIC', ] ); } elseif ( $search_min_price != '' && is_numeric( $search_min_price ) ) { array_push( $args['meta_query'], [ 'key' => OPALESTATE_PROPERTY_PREFIX . 'price', 'value' => $search_min_price, 'compare' => '>=', 'type' => 'NUMERIC', ] ); } elseif ( $search_max_price != '' && is_numeric( $search_max_price ) ) { array_push( $args['meta_query'], [ 'key' => OPALESTATE_PROPERTY_PREFIX . 'price', 'value' => $search_max_price, 'compare' => '<=', 'type' => 'NUMERIC', ] ); } $query = Opalestate_Query::get_property_query( $args ); if ( $query->have_posts() ): echo str_replace( 'widget-style', 'widget-style widget-danger', trim( $before_widget ) ); //Our variables from the widget settings. $title = apply_filters( 'widget_title', $title ); if ( $title ) { echo ( $before_title ) . trim( $title ) . $after_title; } ?> <div class="widget-content widget-properties"> <?php while ( $query->have_posts() ): $query->the_post(); $property = opalesetate_property( get_the_ID() ); $meta = $property->get_meta_shortinfo(); ?> <article itemscope itemtype="http://schema.org/Property" <?php post_class(); ?>> <div class="media"> <div class="media-left"> <?php if ( has_post_thumbnail() ) : ?> <div class="property-box-image"> <a href="<?php the_permalink(); ?>" class="image-inner "> <?php echo the_post_thumbnail( 'thumbnail' ); ?> </a> </div> <?php endif; ?> </div> <div class="media-body"> <div class="entry-content"> <?php the_title( '<h6 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h6>' ); ?> <div class="property-price"> <span class="text-primary"><?php echo opalestate_price_format( $property->get_price() ); ?></span> <?php if ( $property->get_sale_price() ): ?> <span class="property-saleprice"> <?php echo opalestate_price_format( $property->get_sale_price() ); ?> </span> <?php endif; ?> <?php if ( $property->get_price_label() ): ?> <span class="property-price-label"> <?php echo $property->get_price_label(); ?> </span> <?php endif; ?> </div> </div><!-- .entry-content --> </div> </div> </article><!-- #post-## --> <?php endwhile; ?> </div> <?php echo trim( $after_widget ); ?> <?php endif; ?> <?php wp_reset_postdata(); ?>