Add display mode setting

This commit is contained in:
Hoang Huu 2020-03-03 10:57:04 +07:00
parent e5991913ed
commit dc14e74e6d
11 changed files with 77 additions and 53 deletions

View File

@ -1,3 +1,6 @@
= 1.3.7 - 2020-03-03 =
* Added - Display mode setting
= 1.3.6 - 2020-02-29 = = 1.3.6 - 2020-02-29 =
* Fixes - User register form & User roles * Fixes - User register form & User roles

View File

@ -85,6 +85,13 @@ class Opalestate_Settings_Property_Tab extends Opalestate_Settings_Base_Tab {
'options' => $checkes, 'options' => $checkes,
]; ];
$fields[] = [
'name' => esc_html__( 'Default Display mode', 'opalestate-pro' ),
'id' => 'displaymode',
'type' => 'select',
'options' => opalestate_display_modes(),
];
$fields[] = [ $fields[] = [
'name' => esc_html__( 'Archive Grid layout', 'opalestate-pro' ), 'name' => esc_html__( 'Archive Grid layout', 'opalestate-pro' ),
'id' => 'property_archive_grid_layout', 'id' => 'property_archive_grid_layout',

View File

@ -179,7 +179,7 @@ class Opalestate_Admin_API_Keys_Table_List extends WP_List_Table {
public function column_last_access( $key ) { public function column_last_access( $key ) {
if ( ! empty( $key['last_access'] ) ) { if ( ! empty( $key['last_access'] ) ) {
/* translators: 1: last access date 2: last access time */ /* translators: 1: last access date 2: last access time */
$date = sprintf( __( '%1$s at %2$s', 'opalestate-pro' ), date_i18n( wc_date_format(), strtotime( $key['last_access'] ) ), $date = sprintf( __( '%1$s at %2$s', 'opalestate-pro' ), date_i18n( get_option( 'date_format' ), strtotime( $key['last_access'] ) ),
date_i18n( get_option( 'time_format' ), strtotime( $key['last_access'] ) ) ); date_i18n( get_option( 'time_format' ), strtotime( $key['last_access'] ) ) );
return apply_filters( 'opalestate_api_key_last_access_datetime', $date, $key['last_access'] ); return apply_filters( 'opalestate_api_key_last_access_datetime', $date, $key['last_access'] );

View File

@ -237,6 +237,18 @@ function opalestate_get_loop_property_layouts() {
] ); ] );
} }
/**
* Gets display modes.
*
* @return array
*/
function opalestate_display_modes() {
return apply_filters( 'opalestate_display_modes', [
'grid' => esc_html__( 'Grid', 'opalestate-pro' ),
'list' => esc_html__( 'List', 'opalestate-pro' ),
] );
}
/** /**
* Gets loop property grid layouts. * Gets loop property grid layouts.
* *

View File

@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
/** /**
* Add body classes for Opalestate pages. * Add body classes for Opalestate pages.
* *
* @param array $classes Body Classes. * @param array $classes Body Classes.
* @return array * @return array
*/ */
function opalestate_body_class( $classes ) { function opalestate_body_class( $classes ) {
@ -25,13 +25,13 @@ function opalestate_body_class( $classes ) {
$current_user = wp_get_current_user(); $current_user = wp_get_current_user();
if ( $current_user ) { if ( $current_user ) {
$roles = $current_user->roles; $roles = $current_user->roles;
if ( $roles && is_array( $roles ) ) { if ( $roles && is_array( $roles ) ) {
foreach ( $roles as $role ) { foreach ( $roles as $role ) {
$classes[] = 'opalestate-role-' . esc_attr( $role ); $classes[] = 'opalestate-role-' . esc_attr( $role );
} }
} }
} }
} }
return array_unique( $classes ); return array_unique( $classes );
@ -245,12 +245,12 @@ function opalestate_render_sortable_dropdown( $selected = '' ) {
/** /**
* * Display modes
*/ */
function opalestate_show_display_modes( $default = 'list' ) { function opalestate_show_display_modes( $default = '' ) {
$op_display = opalestate_get_display_mode( $default ); $op_display = opalestate_get_display_mode( $default );
$modes = apply_filters( 'opalestate_listing_display_mode', [ $modes = apply_filters( 'opalestate_listing_display_modes', [
'grid' => [ 'grid' => [
'icon' => 'fa fa-th', 'icon' => 'fa fa-th',
'title' => esc_html__( 'Grid', 'opalestate-pro' ), 'title' => esc_html__( 'Grid', 'opalestate-pro' ),
@ -259,20 +259,14 @@ function opalestate_show_display_modes( $default = 'list' ) {
'icon' => 'fa fa-th-list', 'icon' => 'fa fa-th-list',
'title' => esc_html__( 'List', 'opalestate-pro' ), 'title' => esc_html__( 'List', 'opalestate-pro' ),
], ],
/* 'map' => array(
'icon' => 'fa fa-map-marker',
'title' => esc_html__('Map','opalestate-pro')
), */
] ); ] );
echo '<div class="display-mode">'; echo '<div class="display-mode">';
foreach ( $modes as $key => $mode ) { foreach ( $modes as $key => $mode ) {
echo '<a href="' . opalestate_get_url_sort_mode( $key ) . '" aria-label="' . $mode['title'] . '" class="hint--top btn ' . ( $op_display == $key ? 'active' : '' ) . '" data-mode="' . $key . '"><i class="' . $mode['icon'] . '"></i></a>'; echo '<a href="' . opalestate_get_url_sort_mode( $key ) . '" aria-label="' . $mode['title'] . '" class="hint--top btn ' . ( $op_display == $key ? 'active' : '' ) . '" data-mode="' . $key . '"><i class="' . $mode['icon'] . '"></i></a>';
} }
echo '</div>'; echo '</div>';
} }
if ( ! function_exists( 'opalestate_pagination' ) ) { if ( ! function_exists( 'opalestate_pagination' ) ) {
@ -364,8 +358,15 @@ function opalestate_show_display_status() {
<?php <?php
} }
/**
* Get display mode.
*
* @param string $default
* @return string
*/
function opalestate_get_display_mode( $default = '' ) { function opalestate_get_display_mode( $default = '' ) {
$op_display = $default ? $default : opalestate_options( 'displaymode', 'grid' ); $op_display = $default ? $default : opalestate_options( 'displaymode', 'grid' );
if ( isset( $_GET['display'] ) ) { if ( isset( $_GET['display'] ) ) {
$op_display = sanitize_text_field( $_GET['display'] ); $op_display = sanitize_text_field( $_GET['display'] );
} }
@ -428,8 +429,13 @@ function opalestate_get_favorite_page_uri() {
return apply_filters( 'opalestate_get_favorite_page_uri', $favorite_page ); return apply_filters( 'opalestate_get_favorite_page_uri', $favorite_page );
} }
/**
* Single layout templates
*
* @param $layout
* @return array
*/
function opalestate_single_layout_templates( $layout ) { function opalestate_single_layout_templates( $layout ) {
$layout['v2'] = esc_html__( 'Vesion 2', 'opalestate-pro' ); $layout['v2'] = esc_html__( 'Vesion 2', 'opalestate-pro' );
$layout['v3'] = esc_html__( 'Vesion 3', 'opalestate-pro' ); $layout['v3'] = esc_html__( 'Vesion 3', 'opalestate-pro' );
$layout['v4'] = esc_html__( 'Vesion 4', 'opalestate-pro' ); $layout['v4'] = esc_html__( 'Vesion 4', 'opalestate-pro' );
@ -742,8 +748,8 @@ function opalestate_get_property_walkscore_results( $property ) {
$map = $property->get_map(); $map = $property->get_map();
if ( ! $map || ! is_array( $map ) || ! isset( $map['latitude'] ) || ! isset( $map['longitude'] ) ) { if ( ! $map || ! is_array( $map ) || ! isset( $map['latitude'] ) || ! isset( $map['longitude'] ) ) {
return false; return false;
} }
$latitude = $map['latitude']; $latitude = $map['latitude'];
$longitude = $map['longitude']; $longitude = $map['longitude'];

View File

@ -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.3.6 * Version: 1.3.7
* 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
@ -150,7 +150,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&#8217; huh?', 'opalestate-pro' ), '1.3.6' ); _doing_it_wrong( __FUNCTION__, esc_html__( 'Cheatin&#8217; huh?', 'opalestate-pro' ), '1.3.7' );
} }
/** /**
@ -159,7 +159,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.3.6' ); define( 'OPALESTATE_VERSION', '1.3.7' );
} }
// Plugin Folder Path // Plugin Folder Path

View File

@ -4,7 +4,7 @@ Donate link: https://wpdocs.gitbook.io/opal-estate/
Tags: estate, property, opalestate, house for rent, agency for lease, estate submission, agents estate property, property marketplace Tags: estate, property, opalestate, house for rent, agency for lease, estate submission, agents estate property, property marketplace
Requires at least: 4.9 Requires at least: 4.9
Tested up to: 5.3.2 Tested up to: 5.3.2
Stable tag: 1.3.6 Stable tag: 1.3.7
License: GPLv3 License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html License URI: http://www.gnu.org/licenses/gpl-3.0.html
@ -156,6 +156,9 @@ This section describes how to install the plugin and get it working.
* System tickets support 24/7 available : [free support](https://wpopal.ticksy.com/ "Visit the Plugin support Page") * System tickets support 24/7 available : [free support](https://wpopal.ticksy.com/ "Visit the Plugin support Page")
== Changelog == == Changelog ==
= 1.3.7 - 2020-03-03 =
* Added - Display mode setting
= 1.3.6 - 2020-02-29 = = 1.3.6 - 2020-02-29 =
* Fixes - User register form & User roles * Fixes - User register form & User roles

View File

@ -26,7 +26,7 @@ $grid_layout = 'content-property-' . opalestate_get_option( 'property_archive_gr
<div class="opalesate-archive-bottom opalestate-rows opalestate-collection"> <div class="opalesate-archive-bottom opalestate-rows opalestate-collection">
<div class="opal-row"> <div class="opal-row">
<?php if ( ( isset( $_GET['display'] ) && $_GET['display'] == 'list' ) || opalestate_get_display_mode( 'list' ) == 'list' ) : ?> <?php if ( ( isset( $_GET['display'] ) && $_GET['display'] == 'list' ) || opalestate_get_display_mode( opalestate_options( 'displaymode', 'grid' ) ) == 'list' ) : ?>
<?php while ( have_posts() ) : the_post(); ?> <?php while ( have_posts() ) : the_post(); ?>
<div class="col-lg-12 col-md-12 col-sm-12"> <div class="col-lg-12 col-md-12 col-sm-12">
<?php echo opalestate_load_template_path( $list_layout ); ?> <?php echo opalestate_load_template_path( $list_layout ); ?>

View File

@ -1,29 +1,19 @@
<?php <?php
$selected = '';
$selected = '';
$mode = isset($mode)?$mode:'';
?> ?>
<div class="opalesate-archive-top"> <div class="opalesate-archive-top">
<div class="<?php echo apply_filters('opalestate_row_container_class', 'opal-row');?>"> <div class="<?php echo apply_filters( 'opalestate_row_container_class', 'opal-row' ); ?>">
<div class="col-lg-8 col-md-7 col-sm-6"> <div class="col-lg-8 col-md-7 col-sm-6">
<?php opalestate_show_display_status(); ?>
</div>
<?php opalestate_show_display_status(); <div class="col-lg-4 col-md-5 col-sm-6 space-margin-top-10p">
<div class="opalestate-sortable pull-right">
?>
</div>
<div class="col-lg-4 col-md-5 col-sm-6 space-margin-top-10p">
<div class="opalestate-sortable pull-right">
<?php echo opalestate_render_sortable_dropdown( $selected ); ?> <?php echo opalestate_render_sortable_dropdown( $selected ); ?>
</div> </div>
<div class="pull-right"> <div class="pull-right">
<?php opalestate_show_display_modes( $mode ); ?> <?php opalestate_show_display_modes(); ?>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -7,8 +7,11 @@ if ( ! class_exists( 'OpalEstate_Search' ) ) {
} }
$query = OpalEstate_Search::get_search_results_query(); $query = OpalEstate_Search::get_search_results_query();
$show = opalestate_options( 'displaymode', 'grid' );
$show = ( isset( $_GET['display'] ) && $_GET['display'] == 'list' ) || ( opalestate_options( 'displaymode', 'grid' ) == 'list' ) || ( isset( $style ) && $style == 'list' ) ? 'list' : 'grid'; if ( isset( $_GET['display'] ) && $_GET['display'] && in_array( sanitize_text_field( $_GET['display'] ), [ 'grid', 'list' ] ) ) {
$show = sanitize_text_field( $_GET['display'] );
}
?> ?>
<div class="opaleslate-ajax-search-results-container"> <div class="opaleslate-ajax-search-results-container">
<div class="opalesate-archive-top"> <div class="opalesate-archive-top">
@ -26,7 +29,7 @@ $show = ( isset( $_GET['display'] ) && $_GET['display'] == 'list' ) || ( opalest
<div class="opalestate-sortable"> <div class="opalestate-sortable">
<?php echo opalestate_render_sortable_dropdown(); ?> <?php echo opalestate_render_sortable_dropdown(); ?>
</div> </div>
<?php opalestate_show_display_modes( 'grid' ); ?> <?php opalestate_show_display_modes(); ?>
</div> </div>
</div> </div>
</div> </div>