gpt4 book ai didi

php - 在 WooCommerce 中编辑我的帐户订单 View 页面

转载 作者:行者123 更新时间:2023-12-03 22:09:19 26 4
gpt4 key购买 nike

在 WooCommerce 我的帐户“订单 View ”页面中,我应该添加这样的视觉跟踪:
enter image description here

在实际页面上,跟踪每个订单,上面的订单详细信息:

enter image description here

  • 第一个问题是我不知道如何将 html 和 php 代码添加到 View 订单页面我尝试在 functions.php 上添加钩子(Hook)但它不起作用
  • 第二个问题是我想在查看订单页面中获取每个订单的状态
    (例如:加工或交付等)

  • 这是我试图实现它的functions.php代码:
        // **
    // * Add custom tracking code to the view order page
    // */
    add_action( 'woocommerce_view_order', 'my_custom_tracking' );
    function my_custom_tracking(){
    $order = wc_get_order( $order_id );

    $order_id = $order->get_id(); // Get the order ID
    $parent_id = $order->get_parent_id(); // Get the parent order ID (for subscriptions…)

    $user_id = $order->get_user_id(); // Get the costumer ID
    $user = $order->get_user(); // Get the WP_User object

    echo $order_status = $order->get_status(); // Get the order status
    }

    最佳答案

    您的代码中有一些错误:

  • $order_id变量已经包含在这个钩子(Hook)的函数参数中,但您的代码中缺少 .
  • 无法使用 echo$order_status = $order->get_status();

  • 所以试试吧:
    add_action( 'woocommerce_view_order', 'my_custom_tracking' );
    function my_custom_tracking( $order_id ){
    // Get an instance of the `WC_Order` Object
    $order = wc_get_order( $order_id );

    // Get the order number
    $order_number = $order->get_order_number();

    // Get the formatted order date created
    $date_created = wc_format_datetime( $order->get_date_created() );

    // Get the order status name
    $status_name = wc_get_order_status_name( $order->get_status() );

    // Display the order status
    echo '<p>' . __("Order Status:") . ' ' . $status_name . '</p>';
    }
    代码位于您的事件子主题(或事件主题)的 function.php 文件中。测试和工作。

    如果你想 更改黄色下划线文本在您的第二个屏幕截图中,您必须在 myaccount/view-order.php 中进行更改模板文件:
  • 初读official documentation了解"how to Override templates via a theme" .
  • 完成并按照文档中的说明将 WooCommerce 模板复制到您的事件主题后,打开编辑 myaccount/view-order.php模板文件。
  • 要进行的更改位于第 26 到 34 行:
     <p><?php
    /* translators: 1: order number 2: order date 3: order status */
    printf(
    __( 'Order #%1$s was placed on %2$s and is currently %3$s.', 'woocommerce' ),
    '<mark class="order-number">' . $order->get_order_number() . '</mark>',
    '<mark class="order-date">' . wc_format_datetime( $order->get_date_created() ) . '</mark>',
    '<mark class="order-status">' . wc_get_order_status_name( $order->get_status() ) . '</mark>'
    );
    ?></p>
  • 关于php - 在 WooCommerce 中编辑我的帐户订单 View 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55512170/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com