2012-10-09 77 views
6

Para crear un sitio de pago por visión para videos de capacitación a través de WooCommerce, estoy usando el "campo de nota de compra" para enviar un correo electrónico con un hipervínculo a un video página al finalizar el pedido. Esto funciona bien, pero si va a la página de mis cuentas, los clientes no pueden ir a 'Mis cuentas' y ver todos sus enlaces en un solo lugar, ya que pueden hacerlo con 'Descargas disponibles'.Mostrar el nombre del producto y notas de compra en la página My Accounts en WooCommerce

Me gustaría mostrar dos campos adicionales en la tabla de la página my-account.php, "nombre del producto (artículo)" y "nota de compra". Actualmente hay 4 campos: "orden", "envío", "total" y "estado" en la tabla estándar.

Como no estoy usando opciones de envío (solo un producto virtual), me gustaría cambiar este campo por el nombre del producto (artículo). Como mencioné, me gustaría agregar el campo "notas de compra" (esto mostrará la url de mi video al finalizar el pago) Importante que este campo de nota de compra solo se puede mostrar una vez que se completa el artículo. Hace esto ya en la página order-details.php, pero me gustaría tener esto en la tabla en my-accounts.php página

El código actual para este campo de nota de compra en el campo order-details.php es:

// 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); 
    ?> 

puede alguien mostrar lo que tengo que cambiar en mi-account.php para llevar a cabo estos 2 campos adicionales en esta página?

Respuesta

3

my-account.php está llamando a varias otras plantillas, necesita my-orders.php. Coloque una copia en su carpeta de temas para que se actualice la prueba.

Supongo que está utilizando 1.6.6 aquí, porque la página de mi cuenta ha cambiado de 2.0 y ya no incluye la dirección de envío.

eliminar la línea 50, que muestra la dirección de envío. Puede editar/reemplazar este y llame a su nota de compra con el siguiente código:

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

entonces se puede obtener el nombre del producto (por su pregunta Estoy asumiendo que sólo tiene un producto por fin?):

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

continuación, sólo tiene que llamar $product_name en una columna extra (copiar/pegar/editar código de otra columna)

+0

¿hay una manera que podemos hacer lo mismo con las notas de la orden? Los que el administrador puede agregar desde la página de Pedido? – Peanuts

+0

@ Peeuts, ¿dónde quieres que se muestren las notas de la orden en la página de mi cuenta? – Ewout

+0

Por ejemplo, después de la pestaña principal con los detalles de la orden – Peanuts

Cuestiones relacionadas