我想在产品页面上添加“添加到购物车”旁边的按钮,在点击时将“-sample”添加到产品网址。
示例:
您正在查看产品1的页面,其网址为“http://www.example.com/shop/product-1/
”
单击该按钮时,会在URL中添加“-sample”
“http://www.example.com/shop/product-1-sample/
”
我怎样才能做到这一点?
由于
答案 0 :(得分:2)
适用于woocommerce 3 + (仅限):
在woocommerce 3中,您将使用woocommerce_after_shop_loop_item
动作钩子,因为钩子woocommerce_after_add_to_cart_button
将不再起作用。
add_action( 'woocommerce_after_add_to_cart_button', 'add_custom_button', 10, 0 );
function add_custom_button() {
global $product;
$product_link = $product->get_permalink();
$sample_link = substr($product_link, 0, -1) . '-sample/';
echo '<a class="button alt btn-sample" href="' . esc_url( $sample_link ) .'">' . __( "Get a sample", "my_theme_slug" ) . '</a>';
}
代码会显示您的活动子主题(或活动主题)的 function.php
文件。经过测试和工作。
在woocommerce 3之前:
使用此功能,可以使用hook woocommerce_after_add_to_cart_button
在产品页面上添加其他按钮:
add_action( 'woocommerce_after_add_to_cart_button', 'add_custom_button', 10, 0 );
function add_custom_button() {
global $product;
$product_link = get_permalink( get_the_id() );
$sample_link = substr($product_link, 0, -1) . '-sample/';
echo '<a class="button alt btn-sample" href="' . esc_url( $sample_link ) .'">' . __( "Get a sample", "my_theme_slug" ) . '</a>';
}
此代码会显示您的活动子主题或主题的 function.php
文件。
此代码经过测试且功能齐全。
基于此:Add a button after add to cart and redirect it to some custom link in WooCommerce
而且:PHP - How to remove all specific characters at the end of a string?