Function Reference: geodir_get_loc_term_count

Summary

Get term count for a location.

Global Values

$wpdb
(object) (required) WordPress Database object.

Default: None

Package

GeoDirectory_Location_Manager

Parameters

$count_type
(string) (required) Count type. Possible values are ‘review_count’, ‘term_count’.

Default: None
$location_name
(null|string) (required) Location name slug. Ex: new-york.

Default: None
$location_type
(null|string) (required) Location type. Possible values ‘gd_city’,’gd_region’,’gd_country’.

Default: None
$force_update
(bool) (required) Do you want to force update? default: false.

Default: None
$loc
(bool|array) (required) {
Attributes of the location array. @type string $gd_country The country slug. @type string $gd_region The region slug. @type string $gd_city The city slug. }.

Default: None

Return Values

(array|mixed|void)

    Change Log

    Since: 1.0.0

    Source File

    geodir_get_loc_term_count() is located in geodir_location_manager/geodir_count_functions.php [Line: 196]

    Source Code

    function geodir_get_loc_term_count($count_type = 'term_count', $location_name=null, $location_type=null, $force_update=false, $loc=false ) {
    	//accepted count type: term_count, review_count
    	global $wpdb;
    
        if (!$location_name || !$location_type) {
            $loc = geodir_get_current_location_terms();
    
            if (isset($loc['gd_city']) && $loc['gd_city'] != '') {
                $location_name = $loc['gd_city'];
                $location_type = 'gd_city';
            } elseif (isset($loc['gd_region']) && $loc['gd_region'] != '') {
                $location_name = $loc['gd_region'];
                $location_type = 'gd_region';
            } elseif (isset($loc['gd_country']) && $loc['gd_country'] != '') {
                $location_name = $loc['gd_country'];
                $location_type = 'gd_country';
            }
        }
    
        if ($location_name && $location_type) {
            $sql = $wpdb->prepare( "SELECT * FROM " . GEODIR_TERM_META . " WHERE location_type=%s AND location_name=%s LIMIT 1", array( $location_type, $location_name ) );
            $row = $wpdb->get_row( $sql );
    
            if ( $row ) {
                if ( $force_update || !$row->$count_type) {
                    return geodir_insert_term_count_by_loc( $location_name, $location_type, $count_type, $row->id,$loc );
                } else {
                    $data = unserialize( $row->$count_type );
                    return $data;
                }
            } else {
                return geodir_insert_term_count_by_loc( $location_name, $location_type, $count_type,null,$loc );
            }
        } else {
            return;
        }
    }