В WooCommerce я пытаюсь подать заявку set_is_vat_exempt()
метод для клиента и гостевой пользователь.
Для зарегистрированных клиентов это работает нормально. Кто-нибудь может подсказать, как мне это сделать?
Одна проблема может быть как пользователь не вошел в систему, так что может быть $woocommerce->customer
не мог включить это.
Вот мой код:
$bilalId = get_current_user_id();
add_filter( 'woocommerce_cart_totals_order_total_html', 'wc_cart_totals_order_total_html_bn');
function wc_cart_totals_order_total_html_bn() {
global $woocommerce;
if( current_user_can('customer' || $bilalId == 0) ) {
$woocommerce->customer->set_is_vat_exempt(true);
}
}
В конце я просто хочу отключить любые налоговые ставки для не авторизованного пользователя.
даже я пробовал «Нулевой курс», но у меня ничего не вышло.
Любое руководство будет оценено.
Благодарю.
Так что вам нужно использовать WordPress условно is_user_logged_in()
в пользовательской функции подключен init
Хук действия, таким образом:
add_action( 'init', 'wc_tax_exempt_unlogged' );
function wc_tax_exempt_unlogged() {
// Getting user data for logged users
if( is_user_logged_in() ){
$current_user = wp_get_current_user();
$current_user_id = $current_user->ID;
$current_user_roles = $current_user->roles;
$bilal_id = 0;
}
// Exempting of VAT non logged users, customers and the main admin ID (you)
if( ! is_user_logged_in() || in_array( 'customer', $current_user_roles ) || $bilal_id == $current_user_id ){
WC()->customer->set_is_vat_exempt(true);
}
}
Код находится в файле function.php вашей активной дочерней темы (или темы) или также в любом файле плагина.
Этот код протестирован и работает.
Других решений пока нет …