U
This commit is contained in:
parent
ab00de6716
commit
6298197d8f
@ -1,3 +1,7 @@
|
|||||||
|
= 1.6 - 2020-06-25 =
|
||||||
|
* Added - Related properties setting
|
||||||
|
* Added - Nearby properties setting
|
||||||
|
|
||||||
= 1.5.9 - 2020-06-22 =
|
= 1.5.9 - 2020-06-22 =
|
||||||
* Added - Currency
|
* Added - Currency
|
||||||
* Fixes - Subscriber admin bar
|
* Fixes - Subscriber admin bar
|
||||||
|
@ -371,6 +371,7 @@ class Opalestate_Settings_Property_Tab extends Opalestate_Settings_Base_Tab {
|
|||||||
'id' => 'layout',
|
'id' => 'layout',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => apply_filters( 'opalestate_single_layout_templates', [ '' => esc_html__( 'Inherit', 'opalestate-pro' ) ] ),
|
'options' => apply_filters( 'opalestate_single_layout_templates', [ '' => esc_html__( 'Inherit', 'opalestate-pro' ) ] ),
|
||||||
|
'after_row' => '<hr>',
|
||||||
];
|
];
|
||||||
|
|
||||||
$fields[] = [
|
$fields[] = [
|
||||||
@ -379,6 +380,7 @@ class Opalestate_Settings_Property_Tab extends Opalestate_Settings_Base_Tab {
|
|||||||
'id' => 'single_preview',
|
'id' => 'single_preview',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => opalestate_single_layout_preview(),
|
'options' => opalestate_single_layout_preview(),
|
||||||
|
'after_row' => '<hr>',
|
||||||
];
|
];
|
||||||
|
|
||||||
$fields[] = [
|
$fields[] = [
|
||||||
@ -610,21 +612,88 @@ class Opalestate_Settings_Property_Tab extends Opalestate_Settings_Base_Tab {
|
|||||||
'after_row' => '<hr>',
|
'after_row' => '<hr>',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$fields[] = [
|
||||||
|
'name' => esc_html__( 'Show Related properties', 'opalestate-pro' ),
|
||||||
|
'desc' => esc_html__( 'Show Related properties the single property page.', 'opalestate-pro' ),
|
||||||
|
'id' => 'enable_single_related_properties',
|
||||||
|
'type' => 'switch',
|
||||||
|
'options' => [
|
||||||
|
'on' => esc_html__( 'Enable', 'opalestate-pro' ),
|
||||||
|
'off' => esc_html__( 'Disable', 'opalestate-pro' ),
|
||||||
|
],
|
||||||
|
'default' => 'on',
|
||||||
|
];
|
||||||
|
|
||||||
$fields[] = [
|
$fields[] = [
|
||||||
'name' => esc_html__( 'Related properties layout', 'opalestate-pro' ),
|
'name' => esc_html__( 'Related properties layout', 'opalestate-pro' ),
|
||||||
'desc' => esc_html__( 'Select a layout for related properties.', 'opalestate-pro' ),
|
'desc' => esc_html__( 'Select a layout for related properties.', 'opalestate-pro' ),
|
||||||
'id' => 'single_related_properties_layout',
|
'id' => 'single_related_properties_layout',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => opalestate_get_loop_property_layouts(),
|
'options' => opalestate_get_loop_property_layouts(),
|
||||||
|
];
|
||||||
|
|
||||||
|
$fields[] = [
|
||||||
|
'name' => esc_html__( 'Number of properties', 'opalestate-pro' ),
|
||||||
|
'id' => 'single_related_number',
|
||||||
|
'type' => 'text_small',
|
||||||
|
'attributes' => [
|
||||||
|
'type' => 'number',
|
||||||
|
'min' => 1,
|
||||||
|
],
|
||||||
|
'default' => 6,
|
||||||
'after_row' => '<hr>',
|
'after_row' => '<hr>',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$fields[] = [
|
||||||
|
'name' => esc_html__( 'Show Nearby properties', 'opalestate-pro' ),
|
||||||
|
'desc' => esc_html__( 'Show Nearby properties in the single property page.', 'opalestate-pro' ),
|
||||||
|
'id' => 'enable_single_nearby_properties',
|
||||||
|
'type' => 'switch',
|
||||||
|
'options' => [
|
||||||
|
'on' => esc_html__( 'Enable', 'opalestate-pro' ),
|
||||||
|
'off' => esc_html__( 'Disable', 'opalestate-pro' ),
|
||||||
|
],
|
||||||
|
'default' => 'on',
|
||||||
|
];
|
||||||
|
|
||||||
$fields[] = [
|
$fields[] = [
|
||||||
'name' => esc_html__( 'Nearby properties layout', 'opalestate-pro' ),
|
'name' => esc_html__( 'Nearby properties layout', 'opalestate-pro' ),
|
||||||
'desc' => esc_html__( 'Select a layout for nearby properties.', 'opalestate-pro' ),
|
'desc' => esc_html__( 'Select a layout for nearby properties.', 'opalestate-pro' ),
|
||||||
'id' => 'single_nearby_properties_layout',
|
'id' => 'single_nearby_properties_layout',
|
||||||
'type' => 'select',
|
'type' => 'select',
|
||||||
'options' => opalestate_get_loop_property_layouts(),
|
'options' => opalestate_get_loop_property_layouts(),
|
||||||
|
];
|
||||||
|
|
||||||
|
$fields[] = [
|
||||||
|
'name' => esc_html__( 'Nearby Radius', 'opalestate-pro' ),
|
||||||
|
'id' => 'single_nearby_radius',
|
||||||
|
'type' => 'text_small',
|
||||||
|
'attributes' => [
|
||||||
|
'type' => 'number',
|
||||||
|
'min' => 1,
|
||||||
|
],
|
||||||
|
'default' => 5,
|
||||||
|
];
|
||||||
|
|
||||||
|
$fields[] = [
|
||||||
|
'name' => esc_html__( 'Nearby Measure Unit', 'opalestate-pro' ),
|
||||||
|
'id' => 'single_nearby_measure_unit',
|
||||||
|
'type' => 'select',
|
||||||
|
'options' => [
|
||||||
|
'km' => esc_html__( 'km', 'opalestate-pro' ),
|
||||||
|
'miles' => esc_html__( 'miles', 'opalestate-pro' ),
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$fields[] = [
|
||||||
|
'name' => esc_html__( 'Number of properties', 'opalestate-pro' ),
|
||||||
|
'id' => 'single_nearby_number',
|
||||||
|
'type' => 'text_small',
|
||||||
|
'attributes' => [
|
||||||
|
'type' => 'number',
|
||||||
|
'min' => 1,
|
||||||
|
],
|
||||||
|
'default' => 6,
|
||||||
'after_row' => '<hr>',
|
'after_row' => '<hr>',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -494,7 +494,7 @@ class Opalestate_Property_Api extends Opalestate_Base_API {
|
|||||||
} elseif ( $request['geo_lat'] && $request['geo_long'] ) {
|
} elseif ( $request['geo_lat'] && $request['geo_long'] ) {
|
||||||
$radius_measure = isset( $request['radius_measure'] ) ? sanitize_text_field( $request['radius_measure'] ) : 'km';
|
$radius_measure = isset( $request['radius_measure'] ) ? sanitize_text_field( $request['radius_measure'] ) : 'km';
|
||||||
$radius = isset( $request['geo_radius'] ) ? sanitize_text_field( $request['geo_radius'] ) : 10;
|
$radius = isset( $request['geo_radius'] ) ? sanitize_text_field( $request['geo_radius'] ) : 10;
|
||||||
$post_ids = Opalestate_Query::filter_by_location( sanitize_text_field( $request['geo_lat'] ), sanitize_text_field( $request['geo_long'] ), $radius_measure, $radius );
|
$post_ids = Opalestate_Query::filter_by_location( sanitize_text_field( $request['geo_lat'] ), sanitize_text_field( $request['geo_long'] ), $radius, $radius_measure );
|
||||||
$args['post__in'] = $post_ids;
|
$args['post__in'] = $post_ids;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -291,7 +291,7 @@ class OpalEstate_Search {
|
|||||||
} elseif ( $_GET['geo_lat'] && $_GET['geo_long'] ) {
|
} elseif ( $_GET['geo_lat'] && $_GET['geo_long'] ) {
|
||||||
$radius_measure = isset( $_GET['radius_measure'] ) ? sanitize_text_field( $_GET['radius_measure'] ) : 'km';
|
$radius_measure = isset( $_GET['radius_measure'] ) ? sanitize_text_field( $_GET['radius_measure'] ) : 'km';
|
||||||
$radius = isset( $_GET['geo_radius'] ) ? sanitize_text_field( $_GET['geo_radius'] ) : 10;
|
$radius = isset( $_GET['geo_radius'] ) ? sanitize_text_field( $_GET['geo_radius'] ) : 10;
|
||||||
$post_ids = Opalestate_Query::filter_by_location( sanitize_text_field( $_GET['geo_lat'] ), sanitize_text_field( $_GET['geo_long'] ), $radius_measure, $radius );
|
$post_ids = Opalestate_Query::filter_by_location( sanitize_text_field( $_GET['geo_lat'] ), sanitize_text_field( $_GET['geo_long'] ), $radius, $radius_measure );
|
||||||
$args['post__in'] = $post_ids;
|
$args['post__in'] = $post_ids;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -787,8 +787,11 @@ function opalestate_get_property_walkscore_score( $property ) {
|
|||||||
* Gets related properties template.
|
* Gets related properties template.
|
||||||
*/
|
*/
|
||||||
function opalestate_properties_related() {
|
function opalestate_properties_related() {
|
||||||
|
if ( 'on' !== opalestate_get_option( 'enable_single_related_properties', 'on' ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$num = apply_filters( 'opalestate_related_properties_number', 6 );
|
$num = opalestate_get_option( 'single_related_number', 6 );
|
||||||
$args = [
|
$args = [
|
||||||
'post_type' => 'opalestate_property',
|
'post_type' => 'opalestate_property',
|
||||||
'posts_per_page' => $num,
|
'posts_per_page' => $num,
|
||||||
@ -819,7 +822,6 @@ function opalestate_properties_related() {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ( $tax_query ) {
|
if ( $tax_query ) {
|
||||||
$args['tax_query'] = [ 'relation' => 'AND' ];
|
$args['tax_query'] = [ 'relation' => 'AND' ];
|
||||||
$args['tax_query'] = array_merge( $args['tax_query'], $tax_query );
|
$args['tax_query'] = array_merge( $args['tax_query'], $tax_query );
|
||||||
@ -840,10 +842,14 @@ function opalestate_properties_related() {
|
|||||||
* Gets nearby properties template.
|
* Gets nearby properties template.
|
||||||
*/
|
*/
|
||||||
function opalestate_properties_nearby() {
|
function opalestate_properties_nearby() {
|
||||||
|
if ( 'on' !== opalestate_get_option( 'enable_single_nearby_properties', 'on' ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
global $property;
|
global $property;
|
||||||
$maps = $property->get_map();
|
$maps = $property->get_map();
|
||||||
|
|
||||||
$num = apply_filters( 'opalestate_nearby_properties_number', 6 );
|
$num = opalestate_get_option( 'single_nearby_number', 6 );
|
||||||
$post_id = get_the_ID();
|
$post_id = get_the_ID();
|
||||||
|
|
||||||
$args = [
|
$args = [
|
||||||
@ -858,8 +864,9 @@ function opalestate_properties_nearby() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$radius = 5;
|
$radius = opalestate_get_option( 'single_nearby_radius', 5 );
|
||||||
$post_ids = Opalestate_Query::filter_by_location( $geo_lat, $geo_long, 'km', $radius );
|
$measure_unit = opalestate_get_option( 'single_nearby_measure_unit', 'km' );
|
||||||
|
$post_ids = Opalestate_Query::filter_by_location( $geo_lat, $geo_long, $radius, $measure_unit );
|
||||||
|
|
||||||
if ( empty( $post_ids ) ) {
|
if ( empty( $post_ids ) ) {
|
||||||
return;
|
return;
|
||||||
|
@ -178,7 +178,7 @@ class OpalEstate_User {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( in_array( 'subscriber', $roles ) && opalestate_is_user_management_page() ) {
|
if ( in_array( 'subscriber', $roles ) ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* Plugin Name: Opal Estate Pro
|
* Plugin Name: Opal Estate Pro
|
||||||
* Plugin URI: https://wpdocs.gitbook.io/opal-estate/
|
* Plugin URI: https://wpdocs.gitbook.io/opal-estate/
|
||||||
* Description: Opal Real Estate Plugin is an ideal solution and brilliant choice for you to set up a professional estate website.
|
* Description: Opal Real Estate Plugin is an ideal solution and brilliant choice for you to set up a professional estate website.
|
||||||
* Version: 1.5.9
|
* Version: 1.6
|
||||||
* Author: WPOPAL
|
* Author: WPOPAL
|
||||||
* Author URI: http://www.wpopal.com
|
* Author URI: http://www.wpopal.com
|
||||||
* Requires at least: 4.9
|
* Requires at least: 4.9
|
||||||
@ -154,7 +154,7 @@ if ( ! class_exists( 'OpalEstate' ) ) {
|
|||||||
*/
|
*/
|
||||||
public function __clone() {
|
public function __clone() {
|
||||||
// Cloning instances of the class is forbidden
|
// Cloning instances of the class is forbidden
|
||||||
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'opalestate-pro' ), '1.5.9' );
|
_doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin’ huh?', 'opalestate-pro' ), '1.6' );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -163,7 +163,7 @@ if ( ! class_exists( 'OpalEstate' ) ) {
|
|||||||
public function setup_constants() {
|
public function setup_constants() {
|
||||||
// Plugin version
|
// Plugin version
|
||||||
if ( ! defined( 'OPALESTATE_VERSION' ) ) {
|
if ( ! defined( 'OPALESTATE_VERSION' ) ) {
|
||||||
define( 'OPALESTATE_VERSION', '1.5.9' );
|
define( 'OPALESTATE_VERSION', '1.6' );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plugin Folder Path
|
// Plugin Folder Path
|
||||||
|
@ -150,6 +150,10 @@ This section describes how to install the plugin and get it working.
|
|||||||
* System tickets support 24/7 available : [free support](https://themelexus.ticksy.com/ "Visit the Plugin support Page")
|
* System tickets support 24/7 available : [free support](https://themelexus.ticksy.com/ "Visit the Plugin support Page")
|
||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
= 1.6 - 2020-06-25 =
|
||||||
|
* Added - Related properties setting
|
||||||
|
* Added - Nearby properties setting
|
||||||
|
|
||||||
= 1.5.9 - 2020-06-22 =
|
= 1.5.9 - 2020-06-22 =
|
||||||
* Added - Currency
|
* Added - Currency
|
||||||
* Fixes - Subscriber admin bar
|
* Fixes - Subscriber admin bar
|
||||||
|
Loading…
Reference in New Issue
Block a user