在WooCommerce的"我的帐户"页面中显示产品名称和购买说明

use*_*901 6 wordpress woocommerce

为了通过WooCommerce创建用于培训视频的按次付费网站,我使用"购买备注字段"在订单完成后向视频页面发送带有超链接的电子邮件.这项工作正常,但如果您转到我的帐户页面,则客户无法访问"我的帐户"并在"可用下载"中查看所有链接.

我想在my-account.php页面的表格中显示两个额外字段,"product(item)name"和"purchase note".目前有4个字段:标准表中的"订单","发货","总计"和"状态".

由于我没有使用运输选项(只是虚拟产品),我想将此字段更改为产品(项目)名称.如上所述,我想添加"购买备注"字段(这将在付款完成后显示我的视频网址)重要的是,此购买备注字段只能在项目完成后显示.它已经在order-details.php页面中执行了此操作,但我想在my-accounts.php页面的表中进行此操作

order-details.php字段中此购买备注字段的当前代码为:

// Show any purchase notes
            if ($order->status=='completed' || $order->status=='processing') :
                if ($purchase_note = get_post_meta( $_product->id, '_purchase_note', true)) :
                    echo '<tr class="product-purchase-note"><td colspan="3">' . apply_filters('the_content', $purchase_note) . '</td></tr>';
                endif;
            endif;

        endforeach;
    endif;

    do_action( 'woocommerce_order_items_table', $order );
    ?>
Run Code Online (Sandbox Code Playgroud)

任何人都可以在my-account.php中向我展示我需要更改的内容,以在此页面中完成这2个额外字段吗?

Ewo*_*out 3

my-account.php正在调用其他几个模板,您需要my-orders.php. 将副本放入主题文件夹中以使其成为更新证明。

我假设您在这里使用的是 1.6.6,因为我的帐户页面已从 2.0 更改为不再包含送货地址。

删除第 50 行,该行显示送货地址。您可以编辑/替换它并使用以下代码调用您的购买说明:

get_post_meta( $order->id, '_purchase_note', true)
Run Code Online (Sandbox Code Playgroud)

然后您可以获得产品名称(根据您的问题,我假设您每个订单只有一种产品?):

foreach($order->get_items() as $item) {
    $product_name = $item['name'];
}
Run Code Online (Sandbox Code Playgroud)

然后只需调用$product_name额外的列(复制/粘贴/编辑代码另一列)