Change order address

This topic contains 5 replies, has 2 voices, and was last updated by  Stiofan O’Connor 7 years, 5 months ago.

We have moved to a support ticketing system and our forums are now closed.

Open Support Ticket

Tagged: , ,

  • Author
    Posts
  • #279065

    Rutger van Stappershoef
    Buyer
    Post count: 74

    Hi Support,

    We want to change the order of the address in the right sidebar.
    http://linge.webnproduction.nl/gids/leerdam/natuurtuin-varsseveld/
    This is the original:

    Adres: Bohemen
    Leerdam
    Zuid-Holland
    4141 MN
    Nederland

    We want to change it in:

    Adres:
    Bohemen
    4141 MN, Leerdam
    Zuid-Holland
    Nederland

    Is this possible and how do i change this?

    Thank you!

    #279068

    Stiofan O’Connor
    Site Admin
    Post count: 22956

    You can replace the whole function to output the address:

    first you would add this line to remove the current function

    remove_filter('geodir_custom_field_output_address','geodir_cf_address',10);

    And then add back your own function and change the order (i have not changed the order here)

    
    
    function _my_geodir_cf_address($html,$location,$cf,$p=''){
    
        // check we have the post value
        if(is_int($p)){$post = geodir_get_post_info($p);}
        else{ global $post;}
    
        if(!is_array($cf) && $cf!=''){
            $cf = geodir_get_field_infoby('htmlvar_name', $cf, $post->post_type);
            if(!$cf){return NULL;}
        }
    
        $html_var = $cf['htmlvar_name'];
    
        // Check if there is a location specific filter.
        if(has_filter("geodir_custom_field_output_address_loc_{$location}")){
            /**
             * Filter the address html by location.
             *
             * @param string $html The html to filter.
             * @param array $cf The custom field array.
             * @since 1.6.6
             */
            $html = apply_filters("geodir_custom_field_output_address_loc_{$location}",$html,$cf);
        }
    
        // Check if there is a custom field specific filter.
        if(has_filter("geodir_custom_field_output_address_var_{$html_var}")){
            /**
             * Filter the address html by individual custom field.
             *
             * @param string $html The html to filter.
             * @param string $location The location to output the html.
             * @param array $cf The custom field array.
             * @since 1.6.6
             */
            $html = apply_filters("geodir_custom_field_output_address_var_{$html_var}",$html,$location,$cf);
        }
    
        // Check if there is a custom field key specific filter.
        if(has_filter("geodir_custom_field_output_address_key_{$cf['field_type_key']}")){
            /**
             * Filter the address html by field type key.
             *
             * @param string $html The html to filter.
             * @param string $location The location to output the html.
             * @param array $cf The custom field array.
             * @since 1.6.6
             */
            $html = apply_filters("geodir_custom_field_output_address_key_{$cf['field_type_key']}",$html,$location,$cf);
        }
    
        // If not html then we run the standard output.
        if(empty($html)){
    
            global $preview;
            $html_var = $cf['htmlvar_name'] . '_address';
    
            if ($cf['extra_fields']) {
    
                $extra_fields = unserialize($cf['extra_fields']);
    
                $addition_fields = '';
    
                if (!empty($extra_fields)) {
    
                    $show_city_in_address = false;
                    if (isset($extra_fields['show_city']) && $extra_fields['show_city']) {
                        $show_city_in_address = true;
                    }
                    /**
                     * Filter "show city in address" value.
                     *
                     * @since 1.0.0
                     */
                    $show_city_in_address = apply_filters('geodir_show_city_in_address', $show_city_in_address);
    
                    $show_region_in_address = false;
                    if (isset($extra_fields['show_region']) && $extra_fields['show_region']) {
                        $show_region_in_address = true;
                    }
                    /**
                     * Filter "show region in address" value.
                     *
                     * @since 1.6.6
                     */
                    $show_region_in_address = apply_filters('geodir_show_region_in_address', $show_region_in_address);
    
                    $show_country_in_address = false;
                    if (isset($extra_fields['show_country']) && $extra_fields['show_country']) {
                        $show_country_in_address = true;
                    }
                    /**
                     * Filter "show country in address" value.
                     *
                     * @since 1.6.6
                     */
                    $show_country_in_address = apply_filters('geodir_show_country_in_address', $show_country_in_address);
    
                    $show_zip_in_address = false;
                    if (isset($extra_fields['show_zip']) && $extra_fields['show_zip']) {
                        $show_zip_in_address = true;
                    }
                    /**
                     * Filter "show zip in address" value.
                     *
                     * @since 1.6.6
                     */
                    $show_zip_in_address = apply_filters('geodir_show_zip_in_address', $show_zip_in_address);
    
                }
    
            }
    
            if ($post->{$html_var}) {
    
                $field_icon = geodir_field_icon_proccess( $cf );
                if ( strpos( $field_icon, 'http' ) !== false ) {
                    $field_icon_af = '';
                } elseif ( $field_icon == '' ) {
                    $field_icon_af = '<i class="fa fa-home"></i>';
                } else {
                    $field_icon_af = $field_icon;
                    $field_icon    = '';
                }
                
    
                $html = '<div class="geodir_more_info ' . $cf['css_class'] . ' ' . $html_var . '" style="clear:both;"  itemscope itemtype="http://schema.org/PostalAddress">';
                $html .= '<span class="geodir-i-location" style="' . $field_icon . '">' . $field_icon_af;
                $html .= ( trim( $cf['site_title'] ) ) ? __( $cf['site_title'], 'geodirectory' ) . ': ' : '&nbsp;';
                $html .= '</span>';
    
                if ( $post->post_address ) {
                    $html .= '<span itemprop="streetAddress">' . $post->post_address . '</span><br>';
                }
                if ($show_city_in_address && $post->post_city ) {
                    $html .= '<span itemprop="addressLocality">' . $post->post_city . '</span><br>';
                }
                if ($show_region_in_address && $post->post_region ) {
                    $html .= '<span itemprop="addressRegion">' . $post->post_region . '</span><br>';
                }
                if ($show_zip_in_address && $post->post_zip ) {
                    $html .= '<span itemprop="postalCode">' . $post->post_zip . '</span><br>';
                }
                if ($show_country_in_address && $post->post_country ) {
                    $html .= '<span itemprop="addressCountry">' . __( $post->post_country, 'geodirectory' ) . '</span><br>';
                }
                $html .= '</div>';
    
            }
    
        }
    
        return $html;
    }
    add_filter('geodir_custom_field_output_address','_my_geodir_cf_address',10,3);

    Thanks,

    Stiofan

    #279142

    Rutger van Stappershoef
    Buyer
    Post count: 74
    This reply has been marked as private.
    #279144

    Rutger van Stappershoef
    Buyer
    Post count: 74

    Never mind, i replaced the broken file with a clean file from a new downloaded GD plugin.

    I think i did something wrong with the code you send me.
    Can you help me out with changing the order?
    I copied the code to my functions.php in my child theme.
    Don’t know what went wrong.

    #279147

    Rutger van Stappershoef
    Buyer
    Post count: 74

    Problem solved, changed the code, thank you!

    #279149

    Stiofan O’Connor
    Site Admin
    Post count: 22956

    Glad you got it working 🙂

    Stiofan

Viewing 6 posts - 1 through 6 (of 6 total)

We have moved to a support ticketing system and our forums are now closed.

Open Support Ticket