在WooCommerce网站上,我希望在产品添加到购物车后立即在结帐页面重定向客户。但是我们希望它适用于特定的产品类别,而不是所有添加到购物车按钮。
我曾尝试查找过去的解决方案,但他们要么在我更新def days_to_reach_n_steps(step_records, n):
"""Number of days taken to reach the aimed n steps"""
total_steps = 0
index = 0
days = 0
while total_steps < n and index < len(step_records):
total_steps += step_records[index][1]
index += 1
days += 1
if total_steps < n and index >= len(step_records):
days = None
return days
step_records = [('2010-01-01',1),
('2010-01-02',2),
('2010-01-03',3)]
days = days_to_reach_n_steps(step_records, 6)
'''Aim_step is reached in 3 days so returns 6'''
days = days_to_reach_n_steps(step_records, 15)
'''Aim_step is not reached so returns None'''
print(days)
时崩溃我的网站,要么已过时且不再有效。
我真的很感激任何帮助。
答案 0 :(得分:0)
已更新:添加到购物车重定向无法与商店和档案页面上的ajax添加到购物车。
您可以在商店和档案页面中选择选择:
这第二个选项似乎是最好的选择:
// Replacing add to cart button link on shop and archives
add_filter( 'woocommerce_loop_add_to_cart_link', 'replacing_add_to_cart_button', 10, 2 );
function replacing_add_to_cart_button( $button, $product ) {
if( $product->is_type( 'variable-subscription' ) || $product->is_type( 'variable' ) ) return $button;
$button_text = __( 'View product', 'woocommerce' );
$button = '<a class="button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
return $button;
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
定制条件重定向(对于定义的产品类别):
现在,您可以使用隐藏在 woocommerce_add_to_cart_redirect
过滤器挂钩中的自定义功能,该功能会在将产品添加到购物车时重定向客户(对于已定义的产品类强>):
add_filter( 'woocommerce_add_to_cart_redirect', 'add_to_cart_checkout_redirection', 99, 1 );
function add_to_cart_checkout_redirection( $url ) {
// HERE define your category
$category = 'clothing';
if ( ! isset( $_REQUEST['add-to-cart'] ) ) return $url;
// Get the product id when it's available (on add to cart click)
$product_id = absint( $_REQUEST['add-to-cart'] );
// Checkout redirection url only for your defined product category
if( has_term( $category, 'product_cat', $product_id ) ){
// Clear add to cart notice (with the cart link).
wc_clear_notices();
$url = wc_get_checkout_url();
}
return $url;
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
代码在Woocommerce 3+上测试并正常工作