【发布时间】:2017-09-28 04:16:49
【问题描述】:
使用 WooCommerce,我正在我的 functions.php 文件中进行一些自定义,以在购物车页面上获取自定义字段值。
我在添加到购物车之前添加了一个自定义字段:
function add_name_on_tshirt_field() {
echo '<table class="variations" cellspacing="0">
<tbody>
<tr>
<td class="label"><label for="color">Name On T-Shirt</label></td>
<td class="value">
<input type="text" name="name-on-tshirt" value="" />
</td>
</tr>
</tbody>
</table>';
}
add_action( 'woocommerce_before_add_to_cart_button', 'add_name_on_tshirt_field' );
function render_meta_on_cart_item( $title = null, $cart_item = null, $cart_item_key = null ) {
if( $cart_item_key && is_cart() ) {
echo $title. '<dl class="">
<dt class="">Name On T-Shirt : </dt>
<dd class=""><p>'. WC()->session->get( $cart_item_key.'_name_on_tshirt') .'</p></dd>
</dl>';
}else {
echo $title;
}
/* $d=WC();
echo "<pre>";
print_r($d);*/
}
add_filter( 'woocommerce_cart_item_name', 'render_meta_on_cart_item', 1, 3 );
function tshirt_order_meta_handler( $item_id, $values, $cart_item_key )
{
wc_add_order_item_meta( $item_id, "name_on_tshirt", WC()->session->get( $cart_item_key.'_name_on_tshirt') );
}
add_action( 'woocommerce_add_order_item_meta', 'tshirt_order_meta_handler', 1, 3 );
我想在购物车页面上使用这个自定义值,我也使用了钩子
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );
但我无法获得此自定义字段的任何值。
这怎么可能?我做错了什么?
谢谢
【问题讨论】:
标签: php wordpress woocommerce cart hook-woocommerce