在WooCommerce我的账户下载页面中显示订单ID和订单日期。
P粉330232096
P粉330232096 2023-07-27 13:10:51
[PHP讨论组]
<p>我想在“我的账户”下载页面中显示订单ID、订单日期和产品图片。</p> <pre class="brush:php;toolbar:false;">add_filter( 'woocommerce_account_downloads_column_download-product', 'display_product_image_on_account_downloads' ); function display_product_image_on_account_downloads( $download ) { // Targeting view order pages only if ( ! is_wc_endpoint_url( 'downloads' ) ) return; if ( $download['product_id'] &gt; 0 ) { $product = wc_get_product( $download['product_id'] ); $image = $product-&gt;get_image( array(324, 194) ); // The product image $order_id = $order-&gt;get_id(); // The order id if ( $download['product_url'] ) { echo $image . '&lt;a href="' . esc_url( $download['product_url'] ) . '"&gt;' . esc_html( $download['product_name'] ) . '&lt;/a&gt;'; echo '&lt;p&gt;' . esc_html( $order_id ) . '&lt;/p&gt;'; echo '&lt;p&gt;' . esc_html( wc_format_datetime( $order-&gt;get_date_created() ) ) . '&lt;/p&gt;'; } else { echo $image . esc_html( $download['product_name'] ); } } }</pre> <p>产品图片已显示,但订单ID和订单日期未正确显示。有没有办法实现这个?谢谢。</p>
P粉330232096
P粉330232096

全部回复(1)
P粉903969231

我仔细检查了您的代码并发现其中有一些问题。所以您可以使用以下版本:

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文件中。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号