我想使用联系表单7通过电子邮件共享WooCommerce购物车表。我已经使用[cart]
添加了一个简短代码wpcf7_add_form_tag
,该代码在wpcf7表单页面中显示购物车内容(表)。提交时,我需要将表格标签内的购物车内容发送到邮件中,但是我在电子邮件中收到带有表格标签的购物车内容。以下是我的完整代码,可帮助您了解如何在短代码中获取购物车内容以及如何在电子邮件中获取未呈现的表格标签。
定义cart
简码
add_action('wpcf7_init', 'custom_add_form_tag_posts');
function custom_add_form_tag_posts() {
wpcf7_add_form_tag('cart', 'showcartnow');
}
在短代码[购物车]中分配购物车的内容
function showcartnow($tag) {
$mycart= "";
$mycart.= '<table cellspacing="0">';
$mycart.= '<thead>';
$mycart.= '<tr>';
$mycart.= '<th> </th>';
$mycart.= '<th>Product</th>';
$mycart.= '<th>Price</th>';
$mycart.= '<th>Quantity</th>';
$mycart.= '<th>Total</th>';
$mycart.= '</tr>';
$mycart.= '</thead>';
$mycart.= '<tbody>';
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) {
$_product = wc_get_product( $values['data']->get_id() );
$getProductDetail = wc_get_product( $values['product_id'] );
$price = get_post_meta($values['product_id'] , '_price', true);
$regular_price = get_post_meta($values['product_id'] , '_regular_price', true);
$mycart.= '<tr>';
$mycart.= '<td>'.$getProductDetail->get_image().'</td>';
$mycart.= '<td>'.$_product->get_title().'</td>';
$mycart.= '<td>'.$price.'</td>';
$mycart.= '<td>'.$values['quantity'].'</td>';
$mycart.= '<td>'.$values["line_subtotal"].'</td>';
$mycart.= '</tr>';
}
$mycart.= '</tbody>';
$mycart.= '</table>';
return $mycart;
}
获取邮件中的购物车内容
add_filter("wpcf7_posted_data", function ($posted_data) {
$result = showcartnow();
$posted_data["cart"] = $result;
return $posted_data;
});
这是我从购物车中获得的。.html没有呈现(带有表标签)
<table cellspacing="0"><thead><tr><th> </th><th>Product</th><th>Price</th><th>Quantity</th><th>Total</th></tr></thead><tbody><tr><td><img src="https://designbox.com.pk/wp-content/plugins/woocommerce/assets/images/placeholder.png" alt="Placeholder" width="250" height="250" /></td><td>Blushing Beauty Camellia</td><td>14.99</td><td>2</td><td>29.98</td></tr></tbody></table>