Hallo,
kann mir jemand sagen, wie ich es hinbekomme, dass in der Email die Woocommerce schickt, wenn etwas verkauft wurde neben dem Produktnamen auch die SKU Nummer steht? Ich hab mir schon einen Wolf gegurgelt...
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenHallo,
kann mir jemand sagen, wie ich es hinbekomme, dass in der Email die Woocommerce schickt, wenn etwas verkauft wurde neben dem Produktnamen auch die SKU Nummer steht? Ich hab mir schon einen Wolf gegurgelt...
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
Über die Templates können die E-Mail Vorlagen angepasst werden:
Für erweiterte Anpassungsmöglichkeiten müssen Sie den folgenden Plugin-Unterordner woocommerce/templates/emails/ in Ihr Theme bzw. Child Theme kopieren, z.B. mit solch einem Pfad: ihr-theme/woocommmerce/emails/.
Über die Templates können die E-Mail Vorlagen angepasst werden:
Für erweiterte Anpassungsmöglichkeiten müssen Sie den folgenden Plugin-Unterordner woocommerce/templates/emails/ in Ihr Theme bzw. Child Theme kopieren, z.B. mit solch einem Pfad: ihr-theme/woocommmerce/emails/.
Hallo, vielen Dank für die Antwort!
Leider kenne ich mich mit dem php code nicht aus! Was genau müsste ich denn wie anpassen, damit die SKU und/oder die ID angezeigt werde?
Ganz so trivial ist das Ändern des Codes leider nicht. Die SKU solltest du angezeigt bekommen, wenn du im jeweiligen Template den zweiten Paramter folgender Methode auf true setzt:
<?php echo $order->email_order_items_table( true, false, true, true, array( 150, 150 ) ); ?>
[FONT=verdana]Hier siehtst du welcher Parameter was bedeutet - der 2. wäre demnach show_sku[/FONT]
public function email_order_items_table( $show_download_links = false, $show_sku = false, $show_purchase_note = false, $show_image = false, $image_size = array( 32, 32), $plain_text = false )
[FONT=verdana]Da die Tabelle ansich jedwoch mit dieser Methode aufgebaut ist, müsste diese umgeschrieben werden für das Anzeigen der ID. [/FONT][FONT=verdana][/FONT][FONT=verdana][/FONT]
Ganz so trivial ist das Ändern des Codes leider nicht. Die SKU solltest du angezeigt bekommen, wenn du im jeweiligen Template den zweiten Paramter folgender Methode auf true setzt:
<?php echo $order->email_order_items_table( true, false, true, true, array( 150, 150 ) ); ?>[FONT=verdana]Hier siehtst du welcher Parameter was bedeutet - der 2. wäre demnach show_sku[/FONT]
public function email_order_items_table( $show_download_links = false, $show_sku = false, $show_purchase_note = false, $show_image = false, $image_size = array( 32, 32), $plain_text = false )
[FONT=verdana]Da die Tabelle ansich jedwoch mit dieser Methode aufgebaut ist, müsste diese umgeschrieben werden für das Anzeigen der ID. [/FONT]
Ganz herzlichen Dank für die ausführliche Antwort!
Obwohl ich fürchte, das ich damit überfordert bin, will ich versuchen es zu verstehen.
Als erstes muss ich die woocommerce/templates/emails/admin-new-order.php kopieren, um sie nach der Änderung auf yourtheme/woocommerce/emails/admin-new-order.php einzufügen.
Allerdings sieht meine admin-new-order.php wie folgt aus:
<?php/** * Admin new order email * * @author WooThemes * @package WooCommerce/Templates/Emails/HTML * @version 2.0.0 */if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly ?>
<?php do_action( 'woocommerce_email_header', $email_heading ); ?>
<p><?php printf( __( 'You have received an order from %s. Their order is as follows:', 'woocommerce' ), $order->billing_first_name . ' ' . $order->billing_last_name ); ?></p>
<?php do_action( 'woocommerce_email_before_order_table', $order, true ); ?>
<h2><?php printf( __( 'Order: %s', 'woocommerce'), $order->get_order_number() ); ?> (<?php printf( '<time datetime="%s">%s</time>', date_i18n( 'c', strtotime( $order->order_date ) ), date_i18n( woocommerce_date_format(), strtotime( $order->order_date ) ) ); ?>)</h2>
<table cellspacing="0" cellpadding="6" style="width: 100%; border: 1px solid #eee;" border="1" bordercolor="#eee"> <thead> <tr> <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Product', 'woocommerce' ); ?></th> <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Quantity', 'woocommerce' ); ?></th> <th scope="col" style="text-align:left; border: 1px solid #eee;"><?php _e( 'Price', 'woocommerce' ); ?></th> </tr> </thead> <tbody> <?php echo $order->email_order_items_table( false, true ); ?> </tbody> <tfoot> <?php if ( $totals = $order->get_order_item_totals() ) { $i = 0; foreach ( $totals as $total ) { $i++; ?><tr> <th scope="row" colspan="2" style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['label']; ?></th> <td style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['value']; ?></td> </tr><?php } } ?> </tfoot></table>
<?php do_action('woocommerce_email_after_order_table', $order, true); ?>
<?php do_action( 'woocommerce_email_order_meta', $order, true ); ?>
<h2><?php _e( 'Customer details', 'woocommerce' ); ?></h2>
<?php if ( $order->billing_email ) : ?> <p><strong><?php _e( 'Email:', 'woocommerce' ); ?></strong> <?php echo $order->billing_email; ?></p><?php endif; ?><?php if ( $order->billing_phone ) : ?> <p><strong><?php _e( 'Tel:', 'woocommerce' ); ?></strong> <?php echo $order->billing_phone; ?></p><?php endif; ?>
<?php woocommerce_get_template( 'emails/email-addresses.php', array( 'order' => $order ) ); ?>
<?php do_action( 'woocommerce_email_footer' ); ?>
Alles anzeigen
Von SKU, das ich auf "true" setzen kann, ist leider nichts zu sehen :-(
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!