【问题标题】:Get the Order ID in Woocommerce order received page as shortcode在 Woocommerce 订单接收页面中获取订单 ID 作为简码
【发布时间】:2018-09-11 07:40:57
【问题描述】:

我希望将 WooCommerce 订单 ID 引用为简码,以便在收到的订单页面中轻松使用以生成动态链接。

function my_order_id( $atts ) {
    echo $order->get_id();
}
add_shortcode( 'my_order_id', 'my_order_id');

【问题讨论】:

  • 写更多细节你在找什么?
  • 首先在短代码中你不是echo,而是return。这个短代码将在哪里使用?在结帐页面?显示其他订单?
  • 这根本不可能,因为结帐中不存在订单ID,它只有在客户“下订单”后才会生成......
  • @OmarTanti 我想在收单页面,所以交易已经通过,订单ID已经生成。但我想在 S3 上动态命名具有相同订单 ID 的文件以保持文件一致,并且短代码可以在 URL 参数中起作用。
  • @LoicTheAztec 这是在收到的订单中,所以交易已经被批准了。

标签: php wordpress woocommerce shortcode orders


【解决方案1】:

这是在“已收到订单”(谢谢)页面中获取订单 ID 作为简码的方法:

function get_order_id_thankyou( $atts ) {
    // Only in thankyou "Order-received" page
    if( ! is_wc_endpoint_url( 'order-received' ) )
        return; // Exit

    global $wp;

    // Get the order ID
    $order_id  = absint( $wp->query_vars['order-received'] );

    if ( empty($order_id) || $order_id == 0 )
        return; // Exit;

    // Testing output (always use return with a shortcode)
    return '<p>Order ID: ' . $order_id . '</p>';
}
add_shortcode( 'my_order_id', 'get_order_id_thankyou');

代码进入活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。


订单键也一样:

function get_order_key_thankyou( $atts ) {
    // Only in thankyou "Order-received" page
    if( ! is_wc_endpoint_url( 'order-received' ) )
        return; // Exit

    global $wp;

    // Get the order ID
    $order_id  = absint( $wp->query_vars['order-received'] );

    if ( empty($order_id) || $order_id == 0 )
        return; // Exit;

    // Testing output (always use return with a shortcode)
    return '<p>Order Key: ' . get_post_meta( $order_id, '_order_key', true ) . '</p>';
}
add_shortcode( 'my_order_key', 'get_order_key_thankyou');

代码进入活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

【讨论】:

  • 谢谢!可以修改为显示 order_key 吗?
  • @brandonthebuck 在之后添加了一个额外的代码......
  • 太棒了!伟大的!!我搜索$wp-&gt;query_vars['order-received'] 好久了!! @LoicTheAztec,你从哪里得到的?无论如何 - 非常感谢你!!
  • $wp->query_vars['order-received'] 是否总是按订单接收,如果您更改了端点名称,这是否会改为自定义端点名称?
  • 即使 slug 是使用 WPML 翻译的,这是否有效?
猜你喜欢
  • 2021-06-12
  • 2020-08-26
  • 2019-09-08
  • 2021-01-17
  • 2016-02-10
  • 2017-10-27
  • 2020-05-08
  • 2018-03-16
  • 2014-03-05
相关资源
最近更新 更多