Php 在Woocommerce 3中使用产品积垢设置器方法
在下面的代码中,我无法设置某些产品类别和产品标签:Php 在Woocommerce 3中使用产品积垢设置器方法,php,wordpress,woocommerce,product,setter,Php,Wordpress,Woocommerce,Product,Setter,在下面的代码中,我无法设置某些产品类别和产品标签: terms: [terms table][1] term_taxonomy: [term_taxonomy table][2] 代码位于my functions.php文件中: <?php $product = new WC_Product; $product->set_name("product"); $product->set_regular_price('150'); $set_cat = $product->
terms:
[terms table][1]
term_taxonomy:
[term_taxonomy table][2]
代码位于my functions.php文件中:
<?php
$product = new WC_Product;
$product->set_name("product");
$product->set_regular_price('150');
$set_cat = $product->set_category_ids( array(17) );
$set_tag = $product->set_tag_ids( [18, 19] );
$product->save();
var_dump($set_cat);//NULL
var_dump($set_tag);//NULL
Edit:我已将此代码移动到index.php
文件中,它可以正常工作
自Woocommerce 3以来,已提供
但是您不能在变量中使用setter方法,就像您的代码摘录中那样:
$set_cat = $product->set_category_ids( array(17) );
$set_tag = $product->set_tag_ids( [18, 19] );
相反,应该是:
$product->set_category_ids( array(17) );
$product->set_tag_ids( [18, 19] );
$product->save();
然后,您将使用getter方法读取保存的数据并显示它:
$get_cats = $product->get_category_ids();
$get_tags = $product->get_tag_ids();
var_dump($get_cats); // NOW OK
var_dump($get_tags); // NOW OK
对于function.php
文件,您应该将代码嵌入如下函数中:
function my_custom_function_code(){
// Get a new empty WC_Product instance object
$product = new WC_Product;
# Setter methods (set the data)
$product->set_name("product");
$product->set_regular_price('150');
$product->set_category_ids( array(17) );
$product->set_tag_ids( [18, 19] );
# Save the data
$product->save(); // Always at the end to save the new data
# Getter methods (Read the data)
$get_cats = $product->get_category_ids();
$get_tags = $product->get_tag_ids();
# Display some raw data
var_dump($get_cats); // NOW OK
var_dump($get_tags); // NOW OK
}
然后,您可以在任何其他地方(如index.php文件中)使用它,只需执行以下操作:
my_custom_function_code();
您是否可以对这个问题再做一点澄清,您到底想做什么,它的哪些方面不起作用,您是否尝试过其他方法来解决这个问题?您应该看看答案,因为您的代码中仍然存在一些错误。