添加自定义"预订"按钮到WooCommerce产品单页面

时间:2017-09-10 04:15:46

标签: php wordpress button woocommerce product

遇到此问题时,我们非常感谢您的帮助!

我希望我的每个woocommerce单品页面都有一个按钮"立即预订"链接到我在WordPress上创建的页面标题为" Booking Appointments"。

那"预约约会"页面包含"轻松约会"我安装的插件表单(客户端将填写)我也想让它自动将产品的SKU或值填充到其中一个表单输入中(来自以前的页面),这样我就不必每次都输入它。

我在网上尝试了各种方法但它根本不起作用。

2 个答案:

答案 0 :(得分:1)

content-single-product.php的最后,您可以添加

<a class="button-link" href="<?php 
get_page_by_path(booking-appointments); 
?>">Booking Appointments</a>

然后使用.button-link将链接设置为看起来像一个按钮。

答案 1 :(得分:1)

<强>更新

这会在单个产品页面中添加一个“立即预订”按钮链接到您的“预约会面”页面,通过URL传递产品ID,产品图片......

所以代码将是:

// Add a custom button in Single product pages
add_action( 'woocommerce_single_product_summary', 'replacing_template_single_add_to_cart', 31, 0 );
function replacing_template_single_add_to_cart() {
    global $product;

    $product_id = $product->get_id();
    $sku = $product->get_sku();

    // Set below the page ID, your button text and link parameters to pass in url
    $page_id = 124;
    $button_text = __('Book Now', 'woocommerce');
    $link = get_permalink( $page_id ) . '?id=' . $product_id . '&sku=' . $sku;

    // Output your custom text
    echo '<a href="'.$link.'" class="book-now button">'.$button_text.'</a>';

}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

  

“预约约会”页面表单中,您可以使用 $_GET从网址获取值,以填充必要的字段您将使用的脚本:

$product_id = $_GET['id'];
$sku = $_GET['sku'];

经过测试并在WooCommerce 3 +中工作。