6

WooCommerce を介してトレーニング ビデオのペイ パー ビュー サイトを作成するために、「購入メモ フィールド」を使用して、注文の完了時にビデオ ページへのハイパーリンクを含む電子メールを送信しています。これは問題なく動作しますが、マイ アカウント ページに移動すると、顧客は [マイ アカウント] に移動して、[利用可能なダウンロード] のようにすべてのリンクを 1 か所で見ることができません。

my-account.php ページのテーブルに、「商品 (アイテム) 名」と「購入メモ」という 2 つの追加フィールドを表示したいと思います。現在、標準テーブルには「注文」、「配送」、「合計」、「ステータス」の 4 つのフィールドがあります。

配送オプション (仮想商品のみ) を使用していないため、このフィールドを商品 (アイテム) 名に変更したいと考えています。前述のように、「購入メモ」フィールドを追加したいと思います (支払いが完了すると、ビデオの URL が表示されます)。これはすでに 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 );
    ?>

このページでこれら 2 つの追加フィールドを実現するために my-account.php で何を変更する必要があるかを誰かに教えてもらえますか?

4

1 に答える 1

3

my-account.phpは他のいくつかのテンプレートを呼び出しているため、 が必要my-orders.phpです。コピーをテーマ フォルダーに配置して、プルーフを更新します。

マイ アカウント ページが 2.0 から変更され、配送先住所が含まれなくなったため、ここでは 1.6.6 を使用していると想定しています。

配送先住所を示す 50 行目を削除します。これを編集/置換し、次のコードで購入メモを呼び出すことができます:

get_post_meta( $order->id, '_purchase_note', true)

次に、製品名を取得できます(あなたの質問から、注文ごとに1つの製品しかないと仮定していますか?):

foreach($order->get_items() as $item) {
    $product_name = $item['name'];
}

次に、余分な列を呼び出すだけです$product_name(コードを別の列にコピー/貼り付け/編集します)

于 2013-04-03T21:23:14.113 に答える