【问题标题】:WooCommerce get order_keyWooCommerce 获取 order_key
【发布时间】:2020-02-07 18:47:23
【问题描述】:

我有这个代码:

function process_payment( $order_id ) {
    $this->write_log( 'Process payment: ' . $order_id );
    $order = new WC_Order( $order_id );
    return array(
        'result' => 'success',
        'redirect' => add_query_arg( 'order', $order->id, add_query_arg( 'key', $order->order_key, get_permalink( wc_get_page_id( 'pay' ) ) ) )
    );
}

但是WC说获取order_key是不正确的,谁能帮我看看获取order_key的正确代码是什么?

提前致谢

【问题讨论】:

  • 你想在哪里显示order_key?
  • 嗨 Pullata,首先,谢谢。好吧,我已经更新了 woocommerce 版本,并且我跳过了一些语法错误,表明我已经“弃用”代码,并且其中一个代码表明我在代码中检索 order_key 的方式不应该再像这样完成从 WC +3.0 我明白,我应该做“order-> get_order_key ()”,而不是做“order-> order_key”,但我试过了,我有代码错误,因此我的问题。我在 WC 更新问题中提出的代码会是什么样的?以避免兼容性问题。
  • 实际上首先你必须得到一个基于order id 的order id 你可以得到order_key 例如:$test_order = wc_get_product($order_id); $test_order_key = $test_order->get_order_key(); 如果你需要进一步的帮助我想知道你想要什么要显示此密钥或您想根据您的使用情况在哪里检索此密钥,我可以帮助您编写代码以获取 order_key
  • mmmmm 我不知道我是否理解你,对不起 ;-) 这个代码是正确的,你说我的修改? function process_payment( $order_id ) { $this->write_log( 'Process payment: ' . $order_id ); $order = wc_get_product( $order_id ); return array( 'result' => 'success', 'redirect' => add_query_arg( 'order', $order->id, add_query_arg( 'key', $order->get_order_key(), get_permalink( wc_get_page_id( 'pay' ) ) ) ) ); }
  • 请https://stackoverflow.com/questions/44455859/how-to-get-order-key-for-creating-custom-order-return-url-in-woocommerce/#answer-44468179看看这可能对你有帮助

标签: php wordpress woocommerce hook-woocommerce custom-wordpress-pages


【解决方案1】:

如果您有 order_ID,则可以使用它来获取订单密钥 试试这个,希望对你有帮助

$test_order = wc_get_product($order_id);
$test_order_key = $test_order->get_order_key();

【讨论】:

    猜你喜欢
    • 2014-01-28
    • 1970-01-01
    • 2022-01-14
    • 2015-06-08
    • 2016-08-11
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多