/** * Render the widget * * @since 0.0.1 * * @param array $args * @param Lsx_Properties_Widget $instance */ function widget($args, $instance) { extract($args, EXTR_SKIP); $out[] = $before_widget; $title = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']); if (!empty($title)) { $out[] = $before_title . $title . $after_title; } $args = array(); if (!empty($instance['limit'])) { $args['limit'] = $instance['limit']; } if (!empty($instance['order'])) { $args['order'] = $instance['order']; } if (!empty($instance['featured'])) { $args['featured'] = true; } $happybeds_properties = Lsx_Properties::get_instance(); $content = $happybeds_properties->render_property($args, null, null); if (empty($content)) { return; } $out[] = $content; $out[] = $after_widget; echo implode('', $out); }
/** * Suggested Property * * @package happybeds-property * @subpackage template-tags * @category related * * @param $before html * @param $after html */ function happybeds_related_property() { if (false == get_theme_mod('happybeds_property_single_display_related_property', true)) { return; } $filters = array('post_type' => 'property'); //Get the settings from the customizer options $limit = get_theme_mod('happybeds_property_single_related_property_amount', '3'); $filters['posts_per_page'] = $limit; //Exclude the current post $filters['post__not_in'] = array(get_the_ID()); //if its set to related then we need to check by the type. $type = get_theme_mod('happybeds_property_single_related_property_type', 'random'); if ('property-type' == $type) { $term = get_theme_mod('happybeds_property_single_related_property_type_term', false); $filters['orderby'] = 'rand'; $current_post = get_queried_object_id(); if (false != $current_post) { $terms = wp_get_object_terms($current_post, 'property-type'); //only allow relation by 1 property type term if (is_array($terms) != $term) { foreach ($terms as $term) { $filters[$type] = $term->slug; } } } } elseif ('featured' == $type) { $filters['meta_value'] = 1; $filters['meta_key'] = '_is_featured'; $filters['orderby'] = 'rand'; } else { $filters['orderby'] = $type; } $property_query = new WP_Query($filters); if ($property_query->have_posts()) { ?> <div id="related-properties" class="col-md-12"> <h3>Related Campsites</h3> <div class="lsx-property-wrapper filter-items-wrapper"> <div id="property-infinite-scroll-wrapper" class="filter-items-container lsx-property masonry"> <?php Lsx_Properties::remove_jetpack_sharing(); while ($property_query->have_posts()) { $property_query->the_post(); if (function_exists('caldera_metaplate_from_file') && file_exists(LSX_PROPERTIES_PATH . 'templates/metaplate-related-property.html')) { echo caldera_metaplate_from_file(LSX_PROPERTIES_PATH . 'templates/metaplate-related-property.html', get_the_id()); } } echo '</div>'; echo '</div>'; echo '</div>'; wp_reset_postdata(); } }
function hbprop_rewrite_flush() { Lsx_Properties::get_instance(); flush_rewrite_rules(); }
/** * Return an instance of this class. * * @since 0.0.1 * * @return object|Lsx_Properties A single instance of this class. */ public static function get_instance() { // If the single instance hasn't been set, set it now. if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }