मैं एक woocommerce ईमेल टेम्पलेट में किसी ऑर्डर से कुछ डेटा प्राप्त करने का प्रयास कर रहा हूं, लेकिन get_post_meta केवल झूठी रिटर्न देता है। यह कोड धन्यवाद पेज पर काम करता है। मैंने इस पर बहुत अधिक समय बिताया है। किसी भी सहायता की सराहना की जाएगी। धन्यवाद!woocommerce ईमेल अधिसूचनाओं में get_post_meta
global $post;
echo "test!!!<br />";
$x = get_post_meta($order->id, 'attendee_data', true);
$y = get_post_meta($order->id, 'attendee_test', true);
echo $order->id . '<br />';
echo $x;
echo $y;
मैंने एसक्यूएल के साथ-साथ एक ईमेल की एक तस्वीर संलग्न की है।
एसक्यूएल: http://i.stack.imgur.com/zUFBa.png
ईमेल: http://i.stack.imgur.com/Uqtih.png
पूरे ईमेल टेम्पलेट:
<?php do_action('woocommerce_email_header', $email_heading); ?>
<p><?php _e("Your order has been received and is now being processed. Your order details are shown below for your reference:", 'woocommerce'); ?></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($order->is_download_permitted(), true, ($order->status=='processing') ? true : false); ?>
</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
global $post;
echo "test!!!<br />";
$x = get_post_meta($order->id, 'attendee_data', true);
$y = get_post_meta($order->id, 'attendee_test', true);
echo $order->id . '<br />';
echo $x;
echo $y;
foreach ($x as $k => $p) {
echo $k ." ... ". $p;
} ?>
<?php // attendee_order_details($order->get_order_number()) ?>
<?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'); ?>
'ग्राहक-प्रसंस्करण-order.php' की लाइन 56 में क्या है? – Dez
टेम्पलेट को संशोधित करने के बजाय 'woocommerce_email_after_order_table' कार्रवाई को हुक करना बेहतर होगा। – doublesharp
आप 'ग्लोबल $ पोस्ट' को हटाने का प्रयास कर सकते हैं क्योंकि आप' $ ऑर्डर' का उपयोग कर रहे हैं ... – doublesharp