我想知道是否有人可以帮助我?
我正在使用带有Woocommerce插件的Wordpress网站。
我正在使用一段代码来避免将我在本网站上发现的未登录客户的购物车添加到购物车中,除了一个问题之外,它的工作效果很好。在产品页面上不起作用。单击添加到购物车按钮时,它不会重定向到自定义登录页面,就像在类别视图页面上按按钮时一样。而是页面只是刷新。
我将代码放入functions.php文件中。然后,我尝试将其放入其他几个地方,但这没有用。谁能帮我这个忙,让我知道我是否应该将代码放到其他位置?在此先感谢您,非常感谢您的帮助!
这是问题的链接,代码如下:WooCommerce Avoid add to cart for non logged user
// Replacing add-to-cart button in shop pages and archives pages (forn non logged in users)
add_filter( 'woocommerce_loop_add_to_cart_link','conditionally_change_loop_add_to_cart_link',10,2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html,$product ) {
if ( ! is_user_logged_in() ) {
$link = get_permalink($product_id);
$button_text = __( "View product","woocommerce" );
$html = '<a href="'.$link.'" class="button alt add_to_cart_button">'.$button_text.'</a>';
}
return $html;
}
// Avoid add to cart for non logged user (or not registered)
add_filter( 'woocommerce_add_to_cart_validation','logged_in_customers_validation',3 );
function logged_in_customers_validation( $passed,$product_id,$quantity) {
if( ! is_user_logged_in() ) {
$passed = false;
// Displaying a custom message
$message = __("You need to be logged in to be able adding to cart…","woocommerce");
$button_link = get_permalink( get_option('woocommerce_myaccount_page_id') );
$button_text = __("Login or register","woocommerce");
$message .= ' <a href="'.$button_link.'" class="login-register button" style="float:right;">'.$button_text.'</a>';
wc_add_notice( $message,'error' );
}
return $passed;
}