Сегодня я хочу познакомить вас с тремя фильтр-хуками, которые позволят вам установить значение страны, области и города по умолчанию на странице оформления заказа WooCommerce.
Кстати говоря, про страницу оформления заказа у меня на сайте есть видеоурок.
Вот эти фильтр-хуки:
default_checkout_billing_country
– страна,default_checkout_billing_state
– область / штат,default_checkout_billing_city
– город, населённый пункт.Ну и сразу попробуем это в действии – устанавливаем Хельсинки, как город по умолчанию и страну по умолчанию – 🇫🇮
add_filter( 'default_checkout_billing_country', 'truemisha_default_checkout_country' ); add_filter( 'default_checkout_billing_state', 'truemisha_default_checkout_city' ); function truemisha_default_checkout_country( $country ) { return 'FI'; // двухбуквенный ISO код страны } function truemisha_default_checkout_city( $city ) { return 'Helsinki'; }
Также обратите внимание, что эти хуки работают как для зарегистрованных, так и для незарегистрированных пользователей. Вполне возможно, что вы бы не хотели изменять страну / город для зарегистрированного пользователя, у которого уже всё это указано, верно?
Вероятно вам сразу вспоминается WordPress-функция is_user_logged_in(), но давайте сделаем это в стиле WooCommerce.
add_filter( 'default_checkout_billing_country', 'truemisha_default_checkout_country' ); add_filter( 'default_checkout_billing_state', 'truemisha_default_checkout_city' ); function truemisha_default_checkout_country( $country ) { if ( WC()->customer->get_is_paying_customer() ) { return $country; } return 'FI'; } function truemisha_default_checkout_city( $city ) { if ( WC()->customer->get_is_paying_customer() ) { return $city; } return 'Helsinki'; }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
После добавления кода в functions падает весь сайт - На сайте возникла критическая ошибка.
Интересно.. включите
WP_DEBUG
в wp-config.php, чтобы посмотреть, какая ошибка.СПАСИБО ОГРОМНОЕ