我需要以编程方式向我的Woocommerce产品添加变体,并且我从此答案线程借来了代码:
Create programmatically a WooCommerce product variation with new attribute values
它可以工作,但是当我传递此数据数组时给了我两种变化:
$variation_data = array(
'attributes' => array(
'kidssize' => '2'
),
'sku' => '',
'regular_price' => '120',
'sale_price' => '',
'stock_qty' => '',
);
我的猜测是功能触发两次。
由于我是php和后端的新手,所以我所知道的如何调用函数是来自某些模板文件并访问该页面。
为了防止其他访客触发它,我使用
if(isset($_GET['**parameter Only I know**']))
…包装并调用带有set参数的页面;
我知道这样做是一种非常糟糕的方法,但是如果我需要一次调用函数并且从此不再使用它,该如何做呢?
这里甚至引发两次问题还是我的阵列出了点问题?
编辑:
以下是我的工作的详细流程:
我将上面链接中的函数放在functions.php中,
然后使用上述包装将调用放入主题的footer.php中(参数无关紧要-可以是任何东西,因为它只是用作触发器)
转到具有上述参数的页面以触发呼叫
仅加载一次页面,然后在管理面板中查找结果。
它总是有2个变体,即使我向数组添加更多属性,它也会返回最后一个属性数组项的2个变体;