Сайт разработан на WordPress с WooCommerce и является оптовым сайтом, поэтому все товары, добавляемые в корзину, отключены до тех пор, пока пользователь не войдет в систему. Но из-за кэширования браузера даже после того, как пользователь вошел в систему, добавление Чтобы корзина не была включена, вошедший в систему пользователь должен несколько раз обновить страницу sh, чтобы увидеть кнопку добавления в корзину.
Ниже приведен код, который я использую для отключения и включения добавления в корзину. кнопка
* display add to cart only to wholesale group */
if(is_user_logged_in() )
{
$current_user = wp_get_current_user();
foreach ( $current_user->roles as $role )
{
if($role != "Wholesale Buyer" || $role != "Customer" || $role != "Admin")
{
// If user role is Wholesale Buyer or Customer or Admin, Add to Cart button and Price will display on both Single and Shop/Category Pages
}
}
}
else
{
pc_woo_remove_add_to_cart_and_price();
}
function pc_woo_remove_add_to_cart_and_price()
{
// Remove Add to cart from Single Product Page
remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );
remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );
remove_action( 'woocommerce_variable_add_to_cart', 'woocommerce_variable_add_to_cart', 30 );
remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
// Remove Add to cart from Single Product Page
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
// Remove Add to Cart from Shop/Category Pages (Limitation: This code will remove "Select Option" from Grouped and Variable product also
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_single_product_summary', 'pc_print_login_to_see', 31 );
add_action( 'woocommerce_after_shop_loop_item', 'pc_print_login_to_see', 11 );
}
function pc_print_login_to_see() {
echo '<a class="ctgybuy bold pc" href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Login to Buy', 'pc_roller') . '</a>';
}
В любом случае, чтобы это исправить, добавьте строку запроса ко всем URL-адресам после входа пользователя в систему, чтобы принудительно обновить кэш sh. Я открыт для любых советов или предложений. Я отключил плагин кеша, но проблема все еще существует
Спасибо и оцените это