Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sell in only some cities woocommerce


In my account page, I want to use a similar code as below to sell in a specific "cities" or "postcodes", the below code is used to sell in a specific "states":

/**
 * Sell only in Alger & Zeralda
 */

    function wc_sell_only_states( $states ) {
        $states['DZ'] = array(
            'ALG' => __( 'Alger', 'woocommerce' ),
            'ZLD' => __( 'Zeralda', 'woocommerce' ),
        );
        return $states;
    }
    add_filter( 'woocommerce_states', 'wc_sell_only_states' );

What shall I use or modify?

I tried this, but it displays "Error code 500":

// define the woocommerce_countries_base_city callback 
function filter_woocommerce_countries_base_city( $var ) { 
    // make filter magic happen here... 
    $var['DZ'] = array(
        'ALG' => __( 'Alger', 'woocommerce' ),
        'ZLD' => __( 'Zeralda', 'woocommerce' ),
    );
    return $var; 
}; 

// add the filter 
add_filter( 'woocommerce_countries_base_city', 'filter_woocommerce_countries_base_city', 10, 1 );

Thank you in advanced!

like image 221
MiraTech Avatar asked Jan 22 '26 19:01

MiraTech


1 Answers

Try This it worked for me!!

            add_filter( 'woocommerce_form_field_args', 'custom_form_field_args', 10, 3 );
            function custom_form_field_args( $args, $key, $value ) { 
                if ( $args['id'] == 'billing_city' ) {
                 $args = array(
                        'label' => __( 'Town / City', 'woocommerce' ),
                        'required' => TRUE,
                        'clear' => TRUE,
                        'type' => 'select',
                        'options' =>  array(
                            '' => ('Select City' ),
                    'Bangalore' => ('Bangalore' ),
                    'Mysore' => ('Mysore' )
                    ),
                        'class' => array( 'update_totals_on_change' )
                    );
                } // elseif … and go on 

                return $args;
            };
like image 86
Yusuf Mudagal Avatar answered Jan 24 '26 14:01

Yusuf Mudagal



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!