我一直在尝试将单个文本输入字段添加到购物车中的每个项目,并将该用户输入提交到产品的元信息.已经2天了,我还没有成功.
我的目标是:
到目前为止,我已将模板文件复制到我的主题并在单元格中添加了一个输入字段.我遇到了钩子的麻烦,从WooCommerce Product Gift Wrap插件中了解到需要的钩子,正如这个woocommerce问题所示.
代码我添加到我的主题目录中复制的cart.php模板:
$input_url_data = '<div class="input-url"><input type="text" name="cart-url" value="" title="" class="input-text cart-url text" /></div>';
echo apply_filters( 'woocommerce_add_cart_item_data', $input_url_data, $cart_item_key );
Run Code Online (Sandbox Code Playgroud)
代码我添加到我的主题的functions.php:
add_filter( 'woocommerce_add_cart_item_data','add_cart_item_data', 10, 2 );
add_filter( 'woocommerce_get_cart_item_from_session','get_cart_item_from_session', 10, 2 );
add_filter( 'woocommerce_get_item_data','get_item_data', 10, 2 );
add_filter( 'woocommerce_add_cart_item','add_cart_item', 10, 1 );
add_action( 'woocommerce_add_order_item_meta','add_order_item_meta', 10, 2 );
function add_cart_item_data( $cart_item_meta, $product_id ) {
$input_url_key = "";
$input_url_data['inputurl'] = $input_url_key;
return $input_url_data;
}
function get_cart_item_from_session( $cart_item, $values ) {
if …
Run Code Online (Sandbox Code Playgroud)