Это мой пользовательский шаблон электронной почты, который отправляется после завершения заказа.Woocommerce настроить заказ электронной почты
<?php
/**
* Customer completed order email
*
* @author WooThemes
* @package WooCommerce/Templates/Emails
* @version 1.6.4
*/
if (! defined('ABSPATH')) exit; // Exit if accessed directly ?>
<?php do_action('woocommerce_email_header', $email_heading); ?>
<p><?php printf(__("Hi there. Your recent order on %s has been completed. Your order details are shown below for your reference:", 'woocommerce'), get_option('blogname')); ?></p>
<?php do_action('woocommerce_email_before_order_table', $order, $sent_to_admin, $plain_text); ?>
<h2><?php echo __('Order:', 'woocommerce') . ' ' . $order->get_order_number(); ?></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(true, 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, $sent_to_admin, $plain_text); ?>
<?php do_action('woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text); ?>
<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 wc_get_template('emails/email-addresses.php', array('order' => $order)); ?>
<?php do_action('woocommerce_email_footer'); ?>
Я хочу, чтобы вставить PHP код там, который подключается к базе данных, делает запрос на выборку, которая нуждается идентификатор статьи и сколько из ID's статьи покупаются, а затем отправляет новое сообщение электронной почты с этими данными. Я пробовал это несколько раз, но в конце почта всегда переставала работать из-за некоторой ошибки PHP, которую я не мог решить без возможности отладки.
В качестве примера я попробовал:
<?php
$db = mysqli_connect("sqwffwq", "qwfqwf", "qwfqwf", "qwfwqf");
// here I have no clue how to receive the article ID´s and there amounts...
// I wasn't able to find the woocommerce function
$result = mysqli_query('SELECT * FROM etc. etc. ');
mail(results) //Should be no problem after I got the information
?>
У вас уже есть соединение db, $ wpdb. http://codex.wordpress.org/Class_Reference/wpdb. Также замените почту на wp_mail. В будущем, если вам нужно отлаживать только значение echo/var_dump, которое вы хотите проверить и выйти после. – David
@David Php $ rere2 = substr ($ order-> get_order_number(), 4); $ result = mysqli_query ('SELECT * FROM 'wp_woocommerce_order_items' WHERE order_id ="'. $ Rere2. '"'); $ myrows = $ wpdb-> get_results ('SELECT * FROM 'wp_woocommerce_order_items' WHERE order_id ="'. $ Rere2. '"'); foreach ($ myrows as $ myrow) { \t mail ("[email protected]", $ rere2, $ myrow-> order_item_id); } ?> По-прежнему получаете какую-то ошибку, любое предложение? – Etixpp