WordPress добавляет строку запроса ко всем URL-адресам постоянных ссылок после входа пользователя в систему, чтобы принудительно обновить кэш браузера. - PullRequest
0 голосов
/ 23 января 2020

Сайт разработан на 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. Я открыт для любых советов или предложений. Я отключил плагин кеша, но проблема все еще существует

Спасибо и оцените это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...