我在WooCommerce上有一家在线商店,未注册为“订阅客户”并尝试将产品添加到购物车的用户将重定向到该页面进行订阅。
对于所有产品都出现在普通商店的情况,它可以完美地与以下代码配合使用:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 30, 2 );
function replace_loop_add_to_cart_button( $button, $product ) {
if ( !is_user_logged_in() || !current_user_can('tienda') ){
if( $product->is_type( 'simple' ) ){
$button_text = __( "Debes suscribirte", "woocommerce" );
$button = __('<a class="button" href="https://glancingeye.com/modelado-3d/#suscripcion-modelado">' . $button_text . '</a>', "woocommerce");
}}
return $button;
}
但是一旦进入产品,我将无法实现,如果未注册用户,他将被重定向到订阅页面。
到目前为止,我已经尝试过使用此脚本,我修改了按钮的文本,但未修改链接。这是这边的代码:
if ( !is_user_logged_in() || !current_user_can('tienda') ){
add_filter( 'woocommerce_add_to_cart_form_action', 'boton_single' );
function boton_single( $product_permalink ){
// filter...
return _e('<a class="button" href="https://glancingeye.com/modelado-3d/#suscripcion-modelado">' . $button_text . '</a>', "woocommerce");
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'texto_boton_single' );
function texto_boton_single() {
return _e( 'Debes suscribirte', 'boton_suscribete' );
}
}
我在做什么错了?
答案 0 :(得分:1)
我已经修改了编码。
add_filter( 'woocommerce_add_to_cart_form_action', 'boton_single' );
if ( !is_user_logged_in() || !current_user_can('tienda') ){
function boton_single( $product_permalink ){
// filter...
return _e( 'https://glancingeye.com/modelado-3d/#suscripcion-modelado', 'boton_suscribete' );
return $product_permalink;
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'texto_boton_single' );
function texto_boton_single() {
return _e( 'Debes suscribirte', 'boton_suscribete' );
}
}
现在,当您单击“添加到购物车”时,系统将产品添加到购物车(我不是不是订阅用户),但如果URL出现在我希望其重定向的位置,则将其添加到URL中。
将产品添加到购物车后,如果我尝试再次添加产品,这次它将把我发送到订阅页面(应该从头开始)。