搜尋

首頁  >  問答  >  主體

在WooCommerce我的帳戶下載頁面中顯示訂單ID和訂單日期。

<p> 我想在「我的帳戶」下載頁面中顯示訂單ID、訂單日期和產品圖片。</p>
add_filter( 'woocommerce_account_downloads_column_download-product', 'display_product_image_on_account_downloads' );
函數 display_product_image_on_account_downloads( $download ) {
    // 僅定位查看訂單頁面
    if ( !is_wc_endpoint_url( '下載' ) ) return;

    if ( $download['product_id'] > 0 ) {
        $product = wc_get_product( $download['product_id'] );
        $image = $product->get_image( 陣列(324, 194) ); // 商品圖片
        $order_id = $order->get_id(); // 訂單編號

        if ( $download['product_url'] ) {
            回顯 $image 。 '<a href="' .esc_url( $download['product_url'] ) . '">' 。 esc_html( $download['product_name'] ) . '</a>';
        回顯'

' 。 esc_html( $order_id ) 。 '</p>'; 回顯'

' 。 esc_html( wc_format_datetime( $order->get_date_created() ) ) . '</p>'; } 別的 { 回顯 $image 。 esc_html( $download['product_name'] ); } } }</pre> <p>產品圖片已顯示,但訂單ID和訂單日期未顯示正確。有沒有辦法實現這個?謝謝。</p>

P粉330232096P粉330232096544 天前456

全部回覆(1)我來回復

  • P粉903969231

    P粉9039692312023-07-28 12:23:48

    我仔細檢查了您的程式碼並發現其中有一些問題。所以您可以使用以下版本:

    add_filter( 'woocommerce_account_downloads_column_download-product', 'display_product_image_order_info_on_account_downloads', 10, 2 );
    function display_product_image_order_info_on_account_downloads( $download, $item ) {
        // Targeting view order pages only
        if ( ! is_wc_endpoint_url( 'downloads' ) ) return;
    
        if ( $download['product_id'] > 0 ) {
            $product    = wc_get_product( $download['product_id'] );
            $image      = $product->get_image( array( 324, 194 ) ); // The product image
            $order_id   = $item->get_order_id(); // Get the order ID from the $item object
            $order_date = $item->get_order()->get_date_created(); // Get the order date from the $item object
    
            if ( $download['product_url'] ) {
                echo $image . '<a href="' . esc_url( $download['product_url'] ) . '">' . esc_html( $download['product_name'] ) . '</a>';
                echo '<p>' . esc_html( $order_id ) . '</p>';
                echo '<p>' . esc_html( wc_format_datetime( $order_date ) ) . '</p>'; 
            } else {
                echo $image . esc_html( $download['product_name'] );
            }
        }
    }

    您可以將其新增至您的子主題的functions.php檔案中。

    回覆
    0
  • 取消回覆