我正在迁移一些我们处理购物车表单的PHP代码,然后再将其传递给Woocommerce。
其中一个变量名称包含一个括号,我想知道这是否是我无法发布数据的原因?
基本上我们已经更改了产品页面,因为我们需要在后端处理其他数据。操作数据后,我们将其发布到购物车。
例如,原始表单包含此类产品ID
<input type="hidden" name="add-to-cart" value="230" />
我们可以使用此
将其发布到购物车$_POST['add-to-cart']= "230";
$woocommerce->cart->add_to_cart($productID);
wp_redirect( $woocommerce->cart->get_checkout_url() );
但是我们也希望发布来自woocommerce产品addon插件的数据。最初的fom看起来像这样
<input type="text" class="input-text addon addon-custom" data-price="" name="addon-230-cropped-image[cropped_image]" value="" />
但是我试图使用下面的两个例子发布这些数据,这两个例子都不起作用。
$_POST['addon-'.$productID.'-original-image-original_image']= "data";
$_POST['addon-'.$productID.'-original-image[original_image]']= "data";
$woocommerce->cart->add_to_cart($productID);
wp_redirect( $woocommerce->cart->get_checkout_url() );
知道我应该用什么来发布这些数据吗?
答案 0 :(得分:1)
可能你的变量是一个数组线程,应该被捕获为:
$_POST['addon-'.$productID.'-original-image']['original_image']
见PHP Variables。第一个例子解释了类似你的情况。
PHP Variables上第一个示例的代码部分:
<form ....> <input name="person[0][first_name]" value="john" /> <input name="person[0][last_name]" value="smith" /> ... <input name="person[1][first_name]" value="jane" /> <input name="person[1][last_name]" value="jones" /> </form> <?php var_dump($_POST['person']); //will get you something like: array ( 0 => array('first_name'=>'john','last_name'=>'smith'), 1 => array('first_name'=>'jane','last_name'=>'jones'), ) ?>