我想在产品页面上创建两个不同的购物车按钮。根据您单击的按钮,它必须重定向到购物车页面或商店(存档)页面。
在产品页面上,我创建了一些用户必须填写的其他自定义字段(项目数据),然后再将产品添加到购物袋中。使用woocommerce_add_to_cart_redirect
挂钩将客户重定向到所需页面有多种说明,但是我想根据您单击的按钮对其进行一些自定义。
我在产品页面的“添加到购物车”表单中添加了第二个提交按钮。这些按钮在表单内,否则自定义字段将不会生效,产品也不会添加到购物车中。网上有多种解释和说明,可以在产品页面上添加更多添加到购物车的按钮,但由于需要进行验证,因此这些按钮无法使用。
<button type="submit" name="add-to-cart" value="overview <?php echo esc_attr( $product->get_id() ); ?>" class="c-link"><?php _e('Save and go to shop', 'stackoverflowcom'); ?></button>
<button type="submit" name="add-to-cart" value="<?php echo esc_attr( $product->get_id() ); ?>" class="c-btn --gold single_add_to_cart_button button alt"><?php _e('Go to shopping bag', 'stackoverflowcom'); ?></button>
第二步,我为woocommerce_add_to_cart_redirect
钩子创建了一个函数,以检查是否单击了按钮。
function custom_add_to_cart_redirect( $url ) {
if ($_POST['add-to-cart'] == 'overview') {
$url = get_permalink( 17 );
return $url;
} else {
$url = get_permalink( wc_get_page_id( 'cart' ));
return $url;
}} add_filter( 'woocommerce_add_to_cart_redirect', 'custom_add_to_cart_redirect' );
但是,大问题是,按钮内不能有多个值(或名称)。因此上述功能将无法使用。有人有其他解决方案吗?有谁知道我如何创建具有不同重定向的辅助添加到购物车按钮?
谢谢!
答案 0 :(得分:0)
基于CBroe所说的解决方案,我创建了一个javascript函数:
<script>
function overviewClick() {
document.getElementById('overview').value="overview"
document.getElementById('cart').submit();
}
</script>
创建一个名为“ overview”的隐藏输入字段。然后,我创建了一个PHP函数,用于检查输入字段是否为空:
function custom_add_to_cart_redirect( $url ) {
if( ! empty( $_POST['overview'] ) ) {
$url = get_permalink( 17 );
return $url;
} else {
$url = get_permalink( wc_get_page_id( 'cart' ));
return $url;
}}