From 14c13053b2291a76ab566047ff48c511b64bd729 Mon Sep 17 00:00:00 2001 From: Kiran Prajapati Date: Thu, 15 Aug 2024 20:40:55 +0530 Subject: [PATCH] 2.3.73 --- geodirectory.php | 4 +- includes/class-geodir-query.php | 59 +++ includes/core-functions.php | 1 + includes/template-functions.php | 75 ++- .../widgets/class-geodir-widget-az-search.php | 474 ++++++++++++++++++ languages/geodirectory-en_US.mo | Bin 1015 -> 1015 bytes languages/geodirectory-en_US.po | 336 ++++++++----- readme.txt | 5 +- 8 files changed, 808 insertions(+), 146 deletions(-) create mode 100644 includes/widgets/class-geodir-widget-az-search.php diff --git a/geodirectory.php b/geodirectory.php index 2db76282..594d8f22 100644 --- a/geodirectory.php +++ b/geodirectory.php @@ -11,7 +11,7 @@ * Plugin Name: GeoDirectory * Plugin URI: https://wpgeodirectory.com/ * Description: GeoDirectory - Business Directory Plugin for WordPress. - * Version: 2.3.72 + * Version: 2.3.73 * Author: AyeCode - WP Business Directory Plugins * Author URI: https://wpgeodirectory.com * Text Domain: geodirectory @@ -34,7 +34,7 @@ final class GeoDirectory { * * @var string */ - public $version = '2.3.72'; + public $version = '2.3.73'; /** * GeoDirectory instance. diff --git a/includes/class-geodir-query.php b/includes/class-geodir-query.php index eeaafa39..b7a657bb 100644 --- a/includes/class-geodir-query.php +++ b/includes/class-geodir-query.php @@ -52,6 +52,9 @@ public function __construct() { add_filter( 'split_the_query', array( $this, 'split_the_query' ), 100, 2 ); add_action( 'wp', array( $this, 'set_wp_the_query' ), 1, 1 ); + add_filter( 'geodir_main_query_posts_where', array( $this, 'main_query_posts_where' ), 10, 3 ); + add_filter( 'geodir_posts_order_by_sort', array( $this, 'posts_order_by_sort' ), 10, 4 ); + $this->init_query_vars(); } @@ -1710,4 +1713,60 @@ public function set_wp_the_query( $the_wp ) { } } } + + /** + * Set GD posts main query post where clause. + * + * @since 2.3.73 + * + * @global object $wpdb WordPress database object. + * + * @param string $where Query posts where clause. + * @param object $query WP_Query object. + * @param string $geodir_post_type Current post type. + * @return string Query posts where clause. + */ + public function main_query_posts_where( $where, $query, $geodir_post_type ) { + global $wpdb; + + // A-Z Search value. + $value = geodir_az_search_value(); + + if ( $value != '' ) { + $where .= $wpdb->prepare(" AND `{$wpdb->posts}`.`post_title` LIKE %s ", $wpdb->esc_like( $value ) . '%' ); + } + + return $where; + } + + /** + * Set GD posts main query post orderby clause. + * + * @since 2.3.73 + * + * @global object $wpdb WordPress database object. + * + * @param string $orderby Query posts orderby clause. + * @param string $sort_by Current sort by parameter. + * @param string $table Details database table. + * @param object $query WP_Query object. + * @return string Query posts orderby clause. + */ + public function posts_order_by_sort( $orderby, $sort_by, $table, $query ) { + global $wpdb; + + $value = geodir_az_search_value(); + + if ( $value != '' ) { + $_orderby = "`{$wpdb->posts}`.`post_title` ASC"; + + if ( trim( $orderby ) != "" ) { + $_orderby .= "," . $orderby; + } + + $orderby = $_orderby; + } + + return $orderby; + } } diff --git a/includes/core-functions.php b/includes/core-functions.php index d333b8de..b82dd82d 100644 --- a/includes/core-functions.php +++ b/includes/core-functions.php @@ -604,6 +604,7 @@ function goedir_register_widgets() { function geodir_get_widgets(){ $widgets = array( + 'GeoDir_Widget_AZ_Search', 'GeoDir_Widget_Search', 'GeoDir_Widget_Best_Of', 'GeoDir_Widget_Categories', diff --git a/includes/template-functions.php b/includes/template-functions.php index 8bc872d8..5e3e143f 100644 --- a/includes/template-functions.php +++ b/includes/template-functions.php @@ -291,16 +291,16 @@ function geodir_loop_paging( $args = array() ) { $end_no = min( $paged * $posts_per_page, $numposts ); if ( $listing_type_name ) { $listing_type_name = __( $listing_type_name, 'geodirectory' ); - $pegination_desc = wp_sprintf( __( 'Showing %1$s %2$d-%3$d of %4$d', 'geodirectory' ), $listing_type_name, $start_no, $end_no, $numposts ); + $pagination_desc = wp_sprintf( __( 'Showing %1$s %2$d-%3$d of %4$d', 'geodirectory' ), $listing_type_name, $start_no, $end_no, $numposts ); } else { - $pegination_desc = wp_sprintf( __( 'Showing listings %1$d-%2$d of %3$d', 'geodirectory' ), $start_no, $end_no, $numposts ); + $pagination_desc = wp_sprintf( __( 'Showing listings %1$d-%2$d of %3$d', 'geodirectory' ), $start_no, $end_no, $numposts ); } $bs_class = $design_style ? 'text-muted pb-2' : ''; if( ! empty( $args['advanced_pagination_class'] ) ) { $bs_class = esc_attr( $args['advanced_pagination_class'] ); } - $pagination_info = '
' . $pegination_desc . '
'; + $pagination_info = '
' . $pagination_desc . '
'; /** * Adds an extra pagination info above/under pagination. @@ -1348,4 +1348,71 @@ function geodir_filter_textarea_output( $text, $context = '', $args = array() ) } return apply_filters( 'geodir_filtered_textarea_output', $text, $orig_text, $context, $args ); -} \ No newline at end of file +} + +/** + * Get A-Z search options. + * + * @since 2.3.73 + * + * @param string $post_type Current post type. Default empty. + * @return array A-Z options array. + */ +function geodir_az_search_options( $post_type = '' ) { + $range = range( 'A', 'Z' ); + + $options = array(); + + foreach ( $range as $char ) { + $options[] = $char; + } + + /** + * Filter A-Z search options. + * + * @since 2.3.73 + * + * @param array $options A-Z options array. + * @param string $post_type Current post type. Default empty. + */ + return apply_filters( 'geodir_az_search_options', $options, $post_type ); +} + +/** + * Get A-Z search hidden input. + * + * @since 2.3.73 + * + * @param array $args Input args. + */ +function geodir_az_search_input( $args ) { + if ( geodir_is_page( 'search' ) ) { + $options = geodir_az_search_options(); + + $value = ! empty( $_REQUEST['saz'] ) && in_array( $_REQUEST['saz'], $options ) ? sanitize_text_field( $_REQUEST['saz'] ) : ''; + + echo ''; + } +} +add_action( 'geodir_before_search_form', 'geodir_az_search_input', 10, 1 ); + +/** + * Get A-Z searched value. + * + * @since 2.3.73 + * + * @return string Searched character. + */ +function geodir_az_search_value() { + $value = ''; + + if ( isset( $_REQUEST['saz'] ) && isset( $_REQUEST['geodir_search'] ) && geodir_is_page( 'search' ) ) { + $_value = sanitize_text_field( $_REQUEST['saz'] ); + + if ( in_array( $_value, geodir_az_search_options() ) ) { + $value = $_value; + } + } + + return $value; +} diff --git a/includes/widgets/class-geodir-widget-az-search.php b/includes/widgets/class-geodir-widget-az-search.php new file mode 100644 index 00000000..abffff0f --- /dev/null +++ b/includes/widgets/class-geodir-widget-az-search.php @@ -0,0 +1,474 @@ + GEODIRECTORY_TEXTDOMAIN, + 'block-icon' => 'fas fa-arrow-down-a-z', + 'block-category' => 'geodirectory', + 'block-keywords' => "['az','geodir','search']", + 'block-supports' => array( + 'customClassName' => false, + ), + 'class_name' => __CLASS__, + 'base_id' => 'gd_az_search', + 'name' => __( 'GD > A-Z Search', 'geodirectory' ), + 'widget_ops' => array( + 'classname' => 'geodir-az-search-container ' . geodir_bsui_class(), + 'description' => esc_html__( 'Shows the listings in A-Z alphabetical list.', 'geodirectory' ), + 'geodirectory' => true + ), + 'block_group_tabs' => array( + 'content' => array( + 'tab' => array( + 'title' => __( 'Content', 'geodirectory' ), + 'key' => 'bs_tab_content', + 'tabs_open' => true, + 'open' => true, + 'class' => 'text-center flex-fill d-flex justify-content-center' + ), + 'groups' => array( + __( 'Title', 'geodirectory' ), + __( 'Filters', 'geodirectory' ) + ) + ), + 'styles' => array( + 'tab' => array( + 'title' => __( 'Styles', 'geodirectory' ), + 'key' => 'bs_tab_styles', + 'tabs_open' => true, + 'open' => true, + 'class' => 'text-center flex-fill d-flex justify-content-center' + ), + 'groups' => array( + __( 'Paging', 'geodirectory' ) + ) + ), + 'advanced' => array( + 'tab' => array( + 'title' => __( 'Advanced', 'geodirectory' ), + 'key' => 'bs_tab_advanced', + 'tabs_open' => true, + 'open' => true, + 'class' => 'text-center flex-fill d-flex justify-content-center' + ), + 'groups' => array( + __( 'Wrapper Styles', 'geodirectory' ), + __( 'Advanced', 'geodirectory' ) + ) + ) + ) + ); + + parent::__construct( $options ); + } + + /** + * Set widget arguments. + */ + public function set_arguments() { + $design_style = geodir_design_style(); + + $arguments = array(); + $arguments['title'] = array( + 'type' => 'text', + 'title' => __( 'Title:', 'geodirectory' ), + 'desc' => __( 'The widget title.', 'geodirectory' ), + 'default' => '', + 'desc_tip' => true, + 'advanced' => false, + 'group' => __( 'Title', 'geodirectory' ) + ); + + if ( $design_style ) { + $arguments = $arguments + geodir_get_sd_title_inputs(); + } + + $arguments['post_type'] = array( + 'title' => __( 'Post Type:', 'geodirectory' ), + 'desc' => __( 'Post type to filter posts.', 'geodirectory' ), + 'type' => 'select', + 'options' => geodir_get_posttypes( 'options-plural' ), + 'default' => '', + 'desc_tip' => true, + 'advanced' => false, + 'group' => __( 'Filters', 'geodirectory' ), + ); + + $arguments['no_cpt_filter'] = array( + 'title' => __( 'Do not filter current CPT:', 'geodirectory' ), + 'desc' => __( 'Do not filter for current viewing post type.', 'geodirectory' ), + 'type' => 'checkbox', + 'desc_tip' => true, + 'value' => '1', + 'default' => 0, + 'advanced' => false, + 'group' => __( 'Filters', 'geodirectory' ), + ); + + if ( $design_style ) { + // Styles > Paging + // paging style + $arguments['paging_style'] = array( + 'title' => __( 'Style', 'geodirectory' ), + 'type' => 'select', + 'options' => array( + '' => __( 'Default', 'geodirectory' ), + 'rounded' => __( 'Rounded', 'geodirectory' ), + ), + 'default' => '', + 'desc_tip' => true, + 'advanced' => false, + 'group' => __( 'Paging', 'geodirectory' ), + ); + + // button size + $arguments['size'] = array( + 'title' => __( 'Size', 'geodirectory' ), + 'type' => 'select', + 'options' => array( + '' => __( 'Default', 'geodirectory' ), + 'small' => __( 'Small', 'geodirectory' ), + 'large' => __( 'Large', 'geodirectory' ), + ), + 'default' => '', + 'desc_tip' => true, + 'advanced' => false, + 'group' => __( 'Paging', 'geodirectory' ) + ); + + $arguments['size_sm'] = array( + 'title' => __( 'Size (mobile)', 'geodirectory' ), + 'desc' => __( 'Pagination size to show on mobile.', 'geodirectory' ), + 'type' => 'select', + 'options' => array( + '' => __( 'Default', 'geodirectory' ), + 'small' => __( 'Small', 'geodirectory' ), + 'large' => __( 'Large', 'geodirectory' ), + ), + 'default' => '', + 'desc_tip' => true, + 'advanced' => false, + 'group' => __( 'Paging', 'geodirectory' ) + ); + + // margins mobile + $_arguments = array(); + $_arguments['rounded_mt'] = sd_get_margin_input( 'mt', array( 'device_type' => 'Mobile' ) ); + $_arguments['rounded_mr'] = sd_get_margin_input( 'mr', array( 'device_type' => 'Mobile' ) ); + $_arguments['rounded_mb'] = sd_get_margin_input( 'mb', array( 'device_type' => 'Mobile' ) ); + $_arguments['rounded_ml'] = sd_get_margin_input( 'ml', array( 'device_type' => 'Mobile' ) ); + + // margins tablet + $_arguments['rounded_mt_md'] = sd_get_margin_input( 'mt', array( 'device_type' => 'Tablet' ) ); + $_arguments['rounded_mr_md'] = sd_get_margin_input( 'mr', array( 'device_type' => 'Tablet' ) ); + $_arguments['rounded_mb_md'] = sd_get_margin_input( 'mb', array( 'device_type' => 'Tablet' ) ); + $_arguments['rounded_ml_md'] = sd_get_margin_input( 'ml', array( 'device_type' => 'Tablet' ) ); + + // margins desktop + $_arguments['rounded_mt_lg'] = sd_get_margin_input( 'mt', array( 'device_type' => 'Desktop' ) ); + $_arguments['rounded_mr_lg'] = sd_get_margin_input( 'mr', array( 'device_type' => 'Desktop', 'default' => 1 ) ); + $_arguments['rounded_mb_lg'] = sd_get_margin_input( 'mb', array( 'device_type' => 'Desktop' ) ); + $_arguments['rounded_ml_lg'] = sd_get_margin_input( 'ml', array( 'device_type' => 'Desktop', 'default' => 1 ) ); + + foreach ( $_arguments as $key => $field ) { + $arguments[ $key ] = array_merge( $field, array( 'group' => __( 'Paging', 'geodirectory' ), 'element_require' => '[%paging_style%]=="rounded"' ) ); + } + + $arguments['paging_display'] = sd_get_display_input( 'd', array( 'device_type' => 'Mobile', 'group' => __( 'Paging', 'geodirectory' ) ) ); + $arguments['paging_display_md'] = sd_get_display_input( 'd', array( 'device_type' => 'Tablet', 'group' => __( 'Paging', 'geodirectory' ) ) ); + $arguments['paging_display_lg'] = sd_get_display_input( 'd', array( 'device_type' => 'Desktop', 'group' => __( 'Paging', 'geodirectory' ) ) ); + + $arguments = $arguments + sd_get_flex_justify_content_input_group( 'alignment', array( 'group' => __( 'Paging', 'geodirectory' ), 'element_require' => '( [%paging_display%]=="d-flex" || [%paging_display_md%]=="d-md-flex" || [%paging_display_lg%]=="d-lg-flex" )' ) ); + + // Advanced > Wrapper Styles + // background + $arguments['bg'] = sd_get_background_input(); + + // margins mobile + $arguments['mt'] = sd_get_margin_input( 'mt', array( 'device_type' => 'Mobile' ) ); + $arguments['mr'] = sd_get_margin_input( 'mr', array( 'device_type' => 'Mobile' ) ); + $arguments['mb'] = sd_get_margin_input( 'mb', array( 'device_type' => 'Mobile', 'default' => 3 ) ); + $arguments['ml'] = sd_get_margin_input( 'ml', array( 'device_type' => 'Mobile' ) ); + + // margins tablet + $arguments['mt_md'] = sd_get_margin_input( 'mt', array( 'device_type' => 'Tablet' ) ); + $arguments['mr_md'] = sd_get_margin_input( 'mr', array( 'device_type' => 'Tablet' ) ); + $arguments['mb_md'] = sd_get_margin_input( 'mb', array( 'device_type' => 'Tablet' ) ); + $arguments['ml_md'] = sd_get_margin_input( 'ml', array( 'device_type' => 'Tablet' ) ); + + // margins desktop + $arguments['mt_lg'] = sd_get_margin_input( 'mt', array( 'device_type' => 'Desktop' ) ); + $arguments['mr_lg'] = sd_get_margin_input( 'mr', array( 'device_type' => 'Desktop' ) ); + $arguments['mb_lg'] = sd_get_margin_input( 'mb', array( 'device_type' => 'Desktop' ) ); + $arguments['ml_lg'] = sd_get_margin_input( 'ml', array( 'device_type' => 'Desktop' ) ); + + // padding + $arguments['pt'] = sd_get_padding_input( 'pt', array( 'device_type' => 'Mobile' ) ); + $arguments['pr'] = sd_get_padding_input( 'pr', array( 'device_type' => 'Mobile' ) ); + $arguments['pb'] = sd_get_padding_input( 'pb', array( 'device_type' => 'Mobile' ) ); + $arguments['pl'] = sd_get_padding_input( 'pl', array( 'device_type' => 'Mobile' ) ); + + // padding tablet + $arguments['pt_md'] = sd_get_padding_input( 'pt', array( 'device_type' => 'Tablet' ) ); + $arguments['pr_md'] = sd_get_padding_input( 'pr', array( 'device_type' => 'Tablet' ) ); + $arguments['pb_md'] = sd_get_padding_input( 'pb', array( 'device_type' => 'Tablet' ) ); + $arguments['pl_md'] = sd_get_padding_input( 'pl', array( 'device_type' => 'Tablet' ) ); + + // padding desktop + $arguments['pt_lg'] = sd_get_padding_input( 'pt', array( 'device_type' => 'Desktop' ) ); + $arguments['pr_lg'] = sd_get_padding_input( 'pr', array( 'device_type' => 'Desktop' ) ); + $arguments['pb_lg'] = sd_get_padding_input( 'pb', array( 'device_type' => 'Desktop' ) ); + $arguments['pl_lg'] = sd_get_padding_input( 'pl', array( 'device_type' => 'Desktop' ) ); + + // border + $arguments['border'] = sd_get_border_input( 'border' ); + $arguments['border_type'] = sd_get_border_input( 'type' ); + $arguments['border_width'] = sd_get_border_input( 'width' ); // BS5 only + $arguments['border_opacity'] = sd_get_border_input( 'opacity' ); // BS5 only + $arguments['rounded'] = sd_get_border_input( 'rounded' ); + $arguments['rounded_size'] = sd_get_border_input( 'rounded_size' ); + + // shadow + $arguments['shadow'] = sd_get_shadow_input( 'shadow' ); + + $arguments['display'] = sd_get_display_input( 'd', array( 'device_type' => 'Mobile' ) ); + $arguments['display_md'] = sd_get_display_input( 'd', array( 'device_type' => 'Tablet' ) ); + $arguments['display_lg'] = sd_get_display_input( 'd', array( 'device_type' => 'Desktop' ) ); + } + + // Advanced > Advanced + $arguments['css_class'] = sd_get_class_input(); + + return $arguments; + } + + /** + * Outputs on the front-end. + * + * @param array $instance Settings for the widget instance. + * @param array $widget_args Display arguments. + * @param string $content + * + * @return mixed|string|void + */ + public function output( $instance = array(), $widget_args = array(), $content = '' ) { + if ( ! geodir_design_style() ) { + return; + } + + $args = wp_parse_args( + $instance, + array( + 'title' => '', + 'post_type' => '', + 'no_cpt_filter' => '', + // Styles > Paging + 'paging_style' => '', + 'size' => '', + 'size_sm' => '', + 'rounded_mt' => '', + 'rounded_mr' => '', + 'rounded_mb' => '', + 'rounded_ml' => '', + 'rounded_mt_md' => '', + 'rounded_mr_md' => '', + 'rounded_mb_md' => '', + 'rounded_ml_md' => '', + 'rounded_mt_lg' => '', + 'rounded_mr_lg' => '1', + 'rounded_mb_lg' => '', + 'rounded_ml_lg' => '1', + 'paging_display' => '', + 'paging_display_md' => '', + 'paging_display_lg' => '', + 'alignment' => '', + 'alignment_md' => '', + 'alignment_lg' => '', + // Advanced > Wrapper Styles + 'bg' => '', + 'mt' => '', + 'mr' => '', + 'mb' => '3', + 'ml' => '', + 'mt_md' => '', + 'mr_md' => '', + 'mb_md' => '', + 'ml_md' => '', + 'mt_lg' => '', + 'mr_lg' => '', + 'mb_lg' => '', + 'ml_lg' => '', + 'pt' => '', + 'pr' => '', + 'pb' => '', + 'pl' => '', + 'pt_md' => '', + 'pr_md' => '', + 'pb_md' => '', + 'pl_md' => '', + 'pt_lg' => '', + 'pr_lg' => '', + 'pb_lg' => '', + 'pl_lg' => '', + 'border' => '', + 'border_type' => '', + 'border_width' => '', + 'border_opacity' => '', + 'rounded' => '', + 'rounded_size' => '', + 'shadow' => '', + 'display' => '', + 'display_md' => '', + 'display_lg' => '', + // Advanced > Advanced + 'css_class' => '' + ) + ); + + $post_types = geodir_get_posttypes(); + + if ( empty( $args['post_type'] ) ) { + $args['post_type'] = $post_types[0]; + } + + if ( ! empty( $args['post_type'] ) && ! geodir_is_gd_post_type( $args['post_type'] ) ) { + return; + } + + $is_preview = $this->is_preview(); + $current_post_type = geodir_get_current_posttype(); + + if ( empty( $args['no_cpt_filter'] ) && $current_post_type ) { + $args['post_type'] = $current_post_type; + } else if ( $is_preview && ! empty( $args['post_type'] ) && empty( $current_post_type ) ) { + $current_post_type = $args['post_type']; + } + + // paging size mobile + if ( ! empty( $args['size_sm'] ) && 'small' === $args['size_sm'] ) { + $args['size_sm'] = 'small'; + } else if ( ! empty( $args['size_sm'] ) && 'large' === $args['size_sm'] ) { + $args['size_sm'] = 'large'; + } else { + $args['size_sm'] = ''; + } + + // Mobile devices + if ( wp_is_mobile() ) { + $args['size'] = $args['size_sm']; + } + + $wrap_class = sd_build_aui_class( $args ); + if ( $wrap_class ) { + $wrap_class = ' ' . $wrap_class; + } + + $page_class = ''; + // paging style + if ( ! empty( $args['paging_style'] ) && 'rounded' === $args['paging_style'] ) { + $page_class .= ' rounded-pill '; + + $_args = array( + 'mt' => $args['rounded_mt'], + 'mr' => $args['rounded_mr'], + 'mb' => $args['rounded_mb'], + 'ml' => $args['rounded_ml'], + 'mt_md' => $args['rounded_mt_md'], + 'mr_md' => $args['rounded_mr_md'], + 'mb_md' => $args['rounded_mb_md'], + 'ml_md' => $args['rounded_ml_md'], + 'mt_lg' => $args['rounded_mt_lg'], + 'mr_lg' => $args['rounded_mr_lg'], + 'mb_lg' => $args['rounded_mb_lg'], + 'ml_lg' => $args['rounded_ml_lg'] + ); + + $page_class .= sd_build_aui_class( $_args ); + } + + if ( $page_class ) { + $page_class = ' ' . trim( $page_class ); + } + + $pagination_class = ' m-0 p-0'; + if ( ! empty( $args['size'] ) && 'small' === $args['size'] ) { + $pagination_class .= ' ' . 'pagination-sm'; + } elseif ( ! empty( $args['size'] ) && 'large' === $args['size'] ) { + $pagination_class .= ' ' . 'pagination-lg'; + } + + $pagination_class .= ' ' . sd_build_aui_class( array( + 'display' => $args['paging_display'], + 'display_md' => $args['paging_display_md'], + 'display_lg' => $args['paging_display_lg'], + 'flex_justify_content' => $args['alignment'], + 'flex_justify_content_md' => $args['alignment_md'], + 'flex_justify_content_lg' => $args['alignment_lg'] + ) ); + + $options = geodir_az_search_options( $args['post_type'] ); + $current = ! empty( $_REQUEST['saz'] ) && geodir_is_page( 'search' ) ? sanitize_text_field( $_REQUEST['saz'] ) : ''; + + if ( $is_preview ) { + $az_search_url = ''; + + if ( empty( $current ) ) { + $current = $options[0]; + } + } else { + if ( ! empty( $current_post_type ) && $current_post_type == $args['post_type'] && geodir_is_page( 'search' ) ) { + $az_search_url = geodir_curPageURL();remove_query_arg( array( 'saz' ), geodir_curPageURL() ); + } else { + $az_search_url = add_query_arg( + array( + 'geodir_search' => 1, + 'stype' => $args['post_type'], + 's'=> '' + ), + geodir_search_page_base_url() + ); + } + } + + $output = '
'; + $output .= ''; + $output .= '
'; + + return $output; + } +} diff --git a/languages/geodirectory-en_US.mo b/languages/geodirectory-en_US.mo index cd72e5f4067b3e06961e1a7abd51f0d0dd2f92cf..c69b3571c765a784f8154026a03241629bb6d1f7 100755 GIT binary patch delta 21 ccmey){+)e7Jfrc%1XETc11n?mjk98z0aVfk`~Uy| delta 21 ccmey){+)e7JfqRX1XET+3o9d|jk98z0aV-u`~Uy| diff --git a/languages/geodirectory-en_US.po b/languages/geodirectory-en_US.po index 92520d32..926a69b6 100644 --- a/languages/geodirectory-en_US.po +++ b/languages/geodirectory-en_US.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: GeoDirectory 2.3.72\n" +"Project-Id-Version: GeoDirectory 2.3.73\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-15 18:21+0530\n" -"PO-Revision-Date: 2024-08-15 18:22+0530\n" +"POT-Creation-Date: 2024-08-15 20:37+0530\n" +"PO-Revision-Date: 2024-08-15 20:37+0530\n" "Last-Translator: \n" "Language-Team: AyeCode Ltd \n" "Language: en_US\n" @@ -428,7 +428,7 @@ msgstr "" #: includes/admin/class-geodir-admin-blocks.php:231 #: includes/admin/class-geodir-admin-menus.php:108 #: includes/class-geodir-elementor.php:156 includes/class-geodir-privacy.php:24 -#: includes/core-functions.php:934 +#: includes/core-functions.php:935 #: includes/elementor/class-geodir-elementor-form-contact.php:128 #: includes/integrations/bricks/class-geodir-bricks.php:276 msgid "GeoDirectory" @@ -537,6 +537,7 @@ msgstr "" #: includes/admin/admin-functions.php:905 #: includes/admin/admin-functions.php:975 #: includes/admin/admin-functions.php:1004 +#: includes/widgets/class-geodir-widget-az-search.php:70 #: includes/widgets/class-geodir-widget-categories.php:76 #: includes/widgets/class-geodir-widget-cpt-meta.php:89 #: includes/widgets/class-geodir-widget-listings.php:78 @@ -650,6 +651,9 @@ msgstr "" #: includes/widgets/class-geodir-widget-archive-item-section.php:75 #: includes/widgets/class-geodir-widget-archive-item-section.php:89 #: includes/widgets/class-geodir-widget-archive-item-section.php:104 +#: includes/widgets/class-geodir-widget-az-search.php:130 +#: includes/widgets/class-geodir-widget-az-search.php:144 +#: includes/widgets/class-geodir-widget-az-search.php:159 #: includes/widgets/class-geodir-widget-best-of.php:263 #: includes/widgets/class-geodir-widget-best-of.php:281 #: includes/widgets/class-geodir-widget-best-of.php:299 @@ -719,6 +723,8 @@ msgstr "" #: includes/admin/admin-functions.php:926 #: includes/admin/admin-functions.php:964 #: includes/widgets/class-geodir-widget-archive-item-section.php:105 +#: includes/widgets/class-geodir-widget-az-search.php:145 +#: includes/widgets/class-geodir-widget-az-search.php:160 #: includes/widgets/class-geodir-widget-best-of.php:314 #: includes/widgets/class-geodir-widget-listings.php:529 #: includes/widgets/class-geodir-widget-loop-paging.php:171 @@ -738,6 +744,8 @@ msgstr "" #: includes/admin/admin-functions.php:927 #: includes/admin/admin-functions.php:966 #: includes/widgets/class-geodir-widget-author-actions.php:97 +#: includes/widgets/class-geodir-widget-az-search.php:146 +#: includes/widgets/class-geodir-widget-az-search.php:161 #: includes/widgets/class-geodir-widget-best-of.php:316 #: includes/widgets/class-geodir-widget-categories.php:326 #: includes/widgets/class-geodir-widget-listings.php:531 @@ -913,6 +921,8 @@ msgstr "" #: includes/admin/settings/class-geodir-settings-general.php:584 #: includes/class-geodir-post-data.php:1651 includes/core-functions.php:372 #: includes/widgets/class-geodir-widget-add-listing.php:317 +#: includes/widgets/class-geodir-widget-az-search.php:45 +#: includes/widgets/class-geodir-widget-az-search.php:94 #: includes/widgets/class-geodir-widget-categories.php:46 #: includes/widgets/class-geodir-widget-categories.php:109 #: includes/widgets/class-geodir-widget-listings.php:49 @@ -2202,7 +2212,7 @@ msgid "CPT Add Listing" msgstr "" #: includes/admin/class-geodir-admin-menus.php:241 -#: includes/core-functions.php:675 +#: includes/core-functions.php:676 msgid "GD Pages" msgstr "" @@ -2775,6 +2785,7 @@ msgid "Extra Features" msgstr "" #: includes/admin/class-geodir-admin-setup-wizard.php:108 +#: includes/widgets/class-geodir-widget-az-search.php:38 #: includes/widgets/class-geodir-widget-categories.php:51 #: includes/widgets/class-geodir-widget-listings.php:55 #: includes/widgets/class-geodir-widget-loop-actions.php:39 @@ -3555,7 +3566,7 @@ msgstr "" #: includes/admin/views/html-admin-settings-import-export-categories.php:211 #: includes/admin/views/html-admin-settings-import-export-listings.php:197 #: includes/admin/views/html-admin-settings-import-export-reviews.php:193 -#: includes/core-functions.php:1110 includes/post-functions.php:1977 +#: includes/core-functions.php:1111 includes/post-functions.php:1977 #: includes/widgets/class-geodir-widget-dynamic-content.php:496 #: language.php:174 templates/bootstrap/map/filter-cpt.php:24 msgid "Post Type" @@ -3633,38 +3644,38 @@ msgid "The pages that should be included/excluded." msgstr "" #: includes/admin/class-geodir-admin-widgets.php:115 -#: includes/core-functions.php:677 +#: includes/core-functions.php:678 msgid "Add Listing Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:116 -#: includes/core-functions.php:678 +#: includes/core-functions.php:679 msgid "Author Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:117 -#: includes/core-functions.php:679 +#: includes/core-functions.php:680 msgid "Listing Detail Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:118 -#: includes/core-functions.php:682 +#: includes/core-functions.php:683 msgid "Location Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:119 -#: includes/core-functions.php:684 +#: includes/core-functions.php:685 msgid "Post Type Archive" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:120 #: includes/admin/settings/class-geodir-settings-general.php:295 -#: includes/core-functions.php:685 +#: includes/core-functions.php:686 msgid "Search Page" msgstr "" #: includes/admin/class-geodir-admin-widgets.php:121 -#: includes/core-functions.php:686 +#: includes/core-functions.php:687 msgid "Taxonomies Page" msgstr "" @@ -13111,51 +13122,51 @@ msgctxt "time ago" msgid "%d years" msgstr "" -#: includes/core-functions.php:680 +#: includes/core-functions.php:681 msgid "Listing Preview Page" msgstr "" -#: includes/core-functions.php:681 +#: includes/core-functions.php:682 msgid "Listing Success Page" msgstr "" -#: includes/core-functions.php:683 +#: includes/core-functions.php:684 msgid "Login Page" msgstr "" -#: includes/core-functions.php:1107 +#: includes/core-functions.php:1108 msgid "Select search type" msgstr "" -#: includes/core-functions.php:1303 includes/core-functions.php:1317 +#: includes/core-functions.php:1304 includes/core-functions.php:1318 #: templates/bootstrap/search-bar/input-near.php:39 #: templates/bootstrap/search-bar/input-search.php:38 msgid "Clear field" msgstr "" -#: includes/core-functions.php:1651 +#: includes/core-functions.php:1652 msgid "Filesystem ERROR during mu-plugin file copy: " msgstr "" -#: includes/core-functions.php:1653 +#: includes/core-functions.php:1654 msgid "" "There was a problem accessing the filesystem during copy Fast AJAX mu-plugin " "file to mu-plugins folder." msgstr "" -#: includes/core-functions.php:1661 +#: includes/core-functions.php:1662 #, php-format msgid "" "Unable to create directory %s. Make sure its parent directory writable by " "the server." msgstr "" -#: includes/core-functions.php:1665 +#: includes/core-functions.php:1666 #, php-format msgid "Must-plugin directory %s is not writable by the server." msgstr "" -#: includes/core-functions.php:1673 +#: includes/core-functions.php:1674 msgid "" "There was a problem in copy Fast AJAX mu-plugin file to mu-plugins folder." msgstr "" @@ -15263,43 +15274,17 @@ msgstr "" msgid "Not published" msgstr "" -#: includes/widgets/class-geodir-widget-best-of.php:35 -msgid "GD > Best of listings" -msgstr "" - -#: includes/widgets/class-geodir-widget-best-of.php:38 -msgid "Shows the best of listings from categories." -msgstr "" - -#: includes/widgets/class-geodir-widget-best-of.php:56 -#: includes/widgets/class-geodir-widget-categories.php:104 -#: includes/widgets/class-geodir-widget-category-description.php:42 -#: includes/widgets/class-geodir-widget-cpt-meta.php:36 -#: includes/widgets/class-geodir-widget-dashboard.php:42 -#: includes/widgets/class-geodir-widget-listings.php:114 -#: includes/widgets/class-geodir-widget-map.php:106 -#: includes/widgets/class-geodir-widget-post-address.php:93 -#: includes/widgets/class-geodir-widget-post-content.php:35 -#: includes/widgets/class-geodir-widget-post-features.php:101 -#: includes/widgets/class-geodir-widget-post-meta.php:97 -#: includes/widgets/class-geodir-widget-recent-reviews.php:101 -#: includes/widgets/class-geodir-widget-recently-viewed.php:52 -#: includes/widgets/class-geodir-widget-single-reviews.php:56 -msgid "Title:" +#: includes/widgets/class-geodir-widget-az-search.php:29 +msgid "GD > A-Z Search" msgstr "" -#: includes/widgets/class-geodir-widget-best-of.php:57 -#: includes/widgets/class-geodir-widget-categories.php:105 -#: includes/widgets/class-geodir-widget-category-description.php:43 -#: includes/widgets/class-geodir-widget-dashboard.php:43 -#: includes/widgets/class-geodir-widget-listings.php:115 -#: includes/widgets/class-geodir-widget-map.php:107 -#: includes/widgets/class-geodir-widget-post-images.php:35 -#: includes/widgets/class-geodir-widget-recent-reviews.php:102 -#: includes/widgets/class-geodir-widget-single-reviews.php:57 -msgid "The widget title." +#: includes/widgets/class-geodir-widget-az-search.php:32 +msgid "Shows the listings in A-Z alphabetical list." msgstr "" +#: includes/widgets/class-geodir-widget-az-search.php:46 +#: includes/widgets/class-geodir-widget-az-search.php:109 +#: includes/widgets/class-geodir-widget-az-search.php:120 #: includes/widgets/class-geodir-widget-best-of.php:71 #: includes/widgets/class-geodir-widget-best-of.php:144 #: includes/widgets/class-geodir-widget-best-of.php:154 @@ -15342,6 +15327,162 @@ msgstr "" msgid "Filters" msgstr "" +#: includes/widgets/class-geodir-widget-az-search.php:51 +#: includes/widgets/class-geodir-widget-categories.php:67 +#: includes/widgets/class-geodir-widget-listings.php:69 +#: includes/widgets/class-geodir-widget-loop-actions.php:49 +#: includes/widgets/class-geodir-widget-loop-paging.php:49 +#: includes/widgets/class-geodir-widget-map.php:68 +#: includes/widgets/class-geodir-widget-post-address.php:55 +#: includes/widgets/class-geodir-widget-post-fav.php:70 +#: includes/widgets/class-geodir-widget-post-features.php:64 +#: includes/widgets/class-geodir-widget-post-meta.php:60 +#: includes/widgets/class-geodir-widget-post-rating.php:64 +#: includes/widgets/class-geodir-widget-recent-reviews.php:64 +#: includes/widgets/class-geodir-widget-search.php:54 +#: includes/widgets/class-geodir-widget-single-tabs.php:71 +msgid "Styles" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:58 +#: includes/widgets/class-geodir-widget-az-search.php:136 +#: includes/widgets/class-geodir-widget-az-search.php:151 +#: includes/widgets/class-geodir-widget-az-search.php:166 +#: includes/widgets/class-geodir-widget-az-search.php:189 +#: includes/widgets/class-geodir-widget-az-search.php:192 +#: includes/widgets/class-geodir-widget-az-search.php:193 +#: includes/widgets/class-geodir-widget-az-search.php:194 +#: includes/widgets/class-geodir-widget-az-search.php:196 +#: includes/widgets/class-geodir-widget-loop-paging.php:47 +#: includes/widgets/class-geodir-widget-loop-paging.php:162 +#: includes/widgets/class-geodir-widget-loop-paging.php:177 +#: includes/widgets/class-geodir-widget-loop-paging.php:193 +msgid "Paging" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:63 +#: includes/widgets/class-geodir-widget-az-search.php:71 +#: includes/widgets/class-geodir-widget-categories.php:77 +#: includes/widgets/class-geodir-widget-categories.php:80 +#: includes/widgets/class-geodir-widget-listings.php:79 +#: includes/widgets/class-geodir-widget-listings.php:82 +#: includes/widgets/class-geodir-widget-loop-actions.php:57 +#: includes/widgets/class-geodir-widget-loop-actions.php:59 +#: includes/widgets/class-geodir-widget-loop-paging.php:57 +#: includes/widgets/class-geodir-widget-loop-paging.php:59 +#: includes/widgets/class-geodir-widget-map.php:78 +#: includes/widgets/class-geodir-widget-map.php:81 +#: includes/widgets/class-geodir-widget-post-address.php:65 +#: includes/widgets/class-geodir-widget-post-address.php:68 +#: includes/widgets/class-geodir-widget-post-fav.php:80 +#: includes/widgets/class-geodir-widget-post-fav.php:83 +#: includes/widgets/class-geodir-widget-post-features.php:74 +#: includes/widgets/class-geodir-widget-post-features.php:77 +#: includes/widgets/class-geodir-widget-post-meta.php:70 +#: includes/widgets/class-geodir-widget-post-meta.php:73 +#: includes/widgets/class-geodir-widget-post-rating.php:74 +#: includes/widgets/class-geodir-widget-post-rating.php:77 +#: includes/widgets/class-geodir-widget-recent-reviews.php:74 +#: includes/widgets/class-geodir-widget-recent-reviews.php:77 +#: includes/widgets/class-geodir-widget-search.php:64 +#: includes/widgets/class-geodir-widget-search.php:67 +#: includes/widgets/class-geodir-widget-single-tabs.php:81 +#: includes/widgets/class-geodir-widget-single-tabs.php:84 +#: vendor/ayecode/wp-super-duper/sd-functions.php:1586 +#: vendor/ayecode/wp-super-duper/sd-functions.php:1610 +#: vendor/ayecode/wp-super-duper/sd-functions.php:1634 +msgid "Advanced" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:89 +#: includes/widgets/class-geodir-widget-best-of.php:56 +#: includes/widgets/class-geodir-widget-categories.php:104 +#: includes/widgets/class-geodir-widget-category-description.php:42 +#: includes/widgets/class-geodir-widget-cpt-meta.php:36 +#: includes/widgets/class-geodir-widget-dashboard.php:42 +#: includes/widgets/class-geodir-widget-listings.php:114 +#: includes/widgets/class-geodir-widget-map.php:106 +#: includes/widgets/class-geodir-widget-post-address.php:93 +#: includes/widgets/class-geodir-widget-post-content.php:35 +#: includes/widgets/class-geodir-widget-post-features.php:101 +#: includes/widgets/class-geodir-widget-post-meta.php:97 +#: includes/widgets/class-geodir-widget-recent-reviews.php:101 +#: includes/widgets/class-geodir-widget-recently-viewed.php:52 +#: includes/widgets/class-geodir-widget-single-reviews.php:56 +msgid "Title:" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:90 +#: includes/widgets/class-geodir-widget-best-of.php:57 +#: includes/widgets/class-geodir-widget-categories.php:105 +#: includes/widgets/class-geodir-widget-category-description.php:43 +#: includes/widgets/class-geodir-widget-dashboard.php:43 +#: includes/widgets/class-geodir-widget-listings.php:115 +#: includes/widgets/class-geodir-widget-map.php:107 +#: includes/widgets/class-geodir-widget-post-images.php:35 +#: includes/widgets/class-geodir-widget-recent-reviews.php:102 +#: includes/widgets/class-geodir-widget-single-reviews.php:57 +msgid "The widget title." +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:102 +#: includes/widgets/class-geodir-widget-categories.php:119 +#: includes/widgets/class-geodir-widget-cpt-meta.php:44 +#: includes/widgets/class-geodir-widget-recently-viewed.php:83 +msgid "Post Type:" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:103 +msgid "Post type to filter posts." +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:113 +msgid "Do not filter current CPT:" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:114 +msgid "Do not filter for current viewing post type." +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:127 +#: includes/widgets/class-geodir-widget-loop-paging.php:153 +#: includes/widgets/class-geodir-widget-post-rating.php:103 +#: includes/widgets/class-geodir-widget-single-reviews.php:80 +msgid "Style" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:131 +#: includes/widgets/class-geodir-widget-loop-paging.php:157 +msgid "Rounded" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:141 +#: includes/widgets/class-geodir-widget-loop-paging.php:167 +msgid "Size" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:155 +#: includes/widgets/class-geodir-widget-loop-paging.php:182 +msgid "Size (mobile)" +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:156 +#: includes/widgets/class-geodir-widget-loop-paging.php:183 +msgid "Pagination size to show on mobile." +msgstr "" + +#: includes/widgets/class-geodir-widget-az-search.php:449 +msgid "A-Z Search" +msgstr "" + +#: includes/widgets/class-geodir-widget-best-of.php:35 +msgid "GD > Best of listings" +msgstr "" + +#: includes/widgets/class-geodir-widget-best-of.php:38 +msgid "Shows the best of listings from categories." +msgstr "" + #: includes/widgets/class-geodir-widget-best-of.php:74 msgid "Tabs layout:" msgstr "" @@ -15630,60 +15771,6 @@ msgstr "" msgid "CPT Title" msgstr "" -#: includes/widgets/class-geodir-widget-categories.php:67 -#: includes/widgets/class-geodir-widget-listings.php:69 -#: includes/widgets/class-geodir-widget-loop-actions.php:49 -#: includes/widgets/class-geodir-widget-loop-paging.php:49 -#: includes/widgets/class-geodir-widget-map.php:68 -#: includes/widgets/class-geodir-widget-post-address.php:55 -#: includes/widgets/class-geodir-widget-post-fav.php:70 -#: includes/widgets/class-geodir-widget-post-features.php:64 -#: includes/widgets/class-geodir-widget-post-meta.php:60 -#: includes/widgets/class-geodir-widget-post-rating.php:64 -#: includes/widgets/class-geodir-widget-recent-reviews.php:64 -#: includes/widgets/class-geodir-widget-search.php:54 -#: includes/widgets/class-geodir-widget-single-tabs.php:71 -msgid "Styles" -msgstr "" - -#: includes/widgets/class-geodir-widget-categories.php:77 -#: includes/widgets/class-geodir-widget-categories.php:80 -#: includes/widgets/class-geodir-widget-listings.php:79 -#: includes/widgets/class-geodir-widget-listings.php:82 -#: includes/widgets/class-geodir-widget-loop-actions.php:57 -#: includes/widgets/class-geodir-widget-loop-actions.php:59 -#: includes/widgets/class-geodir-widget-loop-paging.php:57 -#: includes/widgets/class-geodir-widget-loop-paging.php:59 -#: includes/widgets/class-geodir-widget-map.php:78 -#: includes/widgets/class-geodir-widget-map.php:81 -#: includes/widgets/class-geodir-widget-post-address.php:65 -#: includes/widgets/class-geodir-widget-post-address.php:68 -#: includes/widgets/class-geodir-widget-post-fav.php:80 -#: includes/widgets/class-geodir-widget-post-fav.php:83 -#: includes/widgets/class-geodir-widget-post-features.php:74 -#: includes/widgets/class-geodir-widget-post-features.php:77 -#: includes/widgets/class-geodir-widget-post-meta.php:70 -#: includes/widgets/class-geodir-widget-post-meta.php:73 -#: includes/widgets/class-geodir-widget-post-rating.php:74 -#: includes/widgets/class-geodir-widget-post-rating.php:77 -#: includes/widgets/class-geodir-widget-recent-reviews.php:74 -#: includes/widgets/class-geodir-widget-recent-reviews.php:77 -#: includes/widgets/class-geodir-widget-search.php:64 -#: includes/widgets/class-geodir-widget-search.php:67 -#: includes/widgets/class-geodir-widget-single-tabs.php:81 -#: includes/widgets/class-geodir-widget-single-tabs.php:84 -#: vendor/ayecode/wp-super-duper/sd-functions.php:1586 -#: vendor/ayecode/wp-super-duper/sd-functions.php:1610 -#: vendor/ayecode/wp-super-duper/sd-functions.php:1634 -msgid "Advanced" -msgstr "" - -#: includes/widgets/class-geodir-widget-categories.php:119 -#: includes/widgets/class-geodir-widget-cpt-meta.php:44 -#: includes/widgets/class-geodir-widget-recently-viewed.php:83 -msgid "Post Type:" -msgstr "" - #: includes/widgets/class-geodir-widget-categories.php:130 msgid "Add CPT ajax select:" msgstr "" @@ -16689,13 +16776,6 @@ msgid "" "results." msgstr "" -#: includes/widgets/class-geodir-widget-loop-paging.php:47 -#: includes/widgets/class-geodir-widget-loop-paging.php:162 -#: includes/widgets/class-geodir-widget-loop-paging.php:177 -#: includes/widgets/class-geodir-widget-loop-paging.php:193 -msgid "Paging" -msgstr "" - #: includes/widgets/class-geodir-widget-loop-paging.php:47 #: includes/widgets/class-geodir-widget-loop-paging.php:201 #: includes/widgets/class-geodir-widget-loop-paging.php:209 @@ -16766,28 +16846,6 @@ msgstr "" msgid "Default (0)" msgstr "" -#: includes/widgets/class-geodir-widget-loop-paging.php:153 -#: includes/widgets/class-geodir-widget-post-rating.php:103 -#: includes/widgets/class-geodir-widget-single-reviews.php:80 -msgid "Style" -msgstr "" - -#: includes/widgets/class-geodir-widget-loop-paging.php:157 -msgid "Rounded" -msgstr "" - -#: includes/widgets/class-geodir-widget-loop-paging.php:167 -msgid "Size" -msgstr "" - -#: includes/widgets/class-geodir-widget-loop-paging.php:182 -msgid "Size (mobile)" -msgstr "" - -#: includes/widgets/class-geodir-widget-loop-paging.php:183 -msgid "Pagination size to show on mobile." -msgstr "" - #: includes/widgets/class-geodir-widget-loop.php:26 msgid "GD > Loop" msgstr "" diff --git a/readme.txt b/readme.txt index cf9672c1..ef15fad2 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: https://wpgeodirectory.com Tags: business directory, listings, directory plugin, classifieds, directory Requires at least: 4.5 Tested up to: 6.6 -Stable tag: 2.3.72 +Stable tag: 2.3.73 Requires PHP: 5.6 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -317,6 +317,9 @@ We don't offer free trials, but we have a 30-day money-back guarantee if you are __WARNING: GDv2 is a significant update over GDv1 and may require manual work, such as adding widgets to sidebars to recreate your current layout. As always, we recommend trying this on a staging site first. [Learn more](https://docs.wpgeodirectory.com/article/260-upgrading-from-gdv1-to-gdv2)__ += GeoDirectory v2.3.73 - 2024-08-15 = +* GD > A-Z Search block added to list the listings alphabetically order - ADDED + = GeoDirectory v2.3.72 - 2024-08-15 = * Archive page should use default template for deleted & cached page - FIXED