我想知道如何在收据位于底部的结算地址后的woocommerce订单收到页面添加文字?
我可以使用任何钩子吗?
或者其他任何方式都可以做到这一点?
答案 0 :(得分:2)
在 woocommerce_thankyou
操作挂钩中尝试此自定义挂钩功能:
add_action( 'woocommerce_thankyou', 'custom_content_thankyou', 10, 1 );
function custom_content_thankyou( $order_id ) {
echo '<p>'. __('My custom text').'</p>';
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
经过测试和工作......
答案 1 :(得分:1)
您可以在(子)主题或插件中添加动作挂钩。扩展@LoicTheAztec的答案:
add_action( 'woocommerce_thankyou', 'custom_content_thankyou', 10, 1 );
function custom_content_thankyou( $order_id ) {
echo '<p>'. __('My custom text').'</p>';
}
您可以使用more actions,但不幸的是official WooCommerce Action and Filter Hook Reference documentation中还没有提到:
woocommerce_before_thankyou
woocommerce_thankyou_{payment_method}
(动态)woocommerce_thankyou
有时您需要订单详细信息和运输方式。要获取订单详细信息,您可以使用$order = new WC_Order($order_id);
。例如:
function produkindo_before_thankyou($order_id) {
$order = new WC_Order($order_id);
// Iterating through order shipping items
foreach( $order->get_items( 'shipping' ) as $item_id => $shipping_item_obj ){
// $order_item_name = $shipping_item_obj->get_name();
// $order_item_type = $shipping_item_obj->get_type();
// "Prahu-Hub" or "Prahu - Hub"
$shipping_method_title = $shipping_item_obj->get_method_title();
$shipping_method_id = $shipping_item_obj->get_method_id(); // The method ID
$shipping_method_instance_id = $shipping_item_obj->get_instance_id(); // The instance ID
// $shipping_method_total = $shipping_item_obj->get_total();
// $shipping_method_total_tax = $shipping_item_obj->get_total_tax();
// $shipping_method_taxes = $shipping_item_obj->get_taxes();
break;
}
if (preg_match('/^Prahu/i', $shipping_method_title)) {
?>
<div class="prahu-hub-thankyou">
Silakan melanjutkan pemesanan pengiriman untuk barang yang Anda beli di <a target="_blank" href="https://prahu-hub.com/home/pencarian"><strong>Prahu–Hub</strong></a>.
</div>
<?php
}
}
add_action('woocommerce_before_thankyou', 'produkindo_before_thankyou');