Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Woocommerce 3中使用产品积垢设置器方法_Php_Wordpress_Woocommerce_Product_Setter - Fatal编程技术网

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();

您是否可以对这个问题再做一点澄清,您到底想做什么,它的哪些方面不起作用,您是否尝试过其他方法来解决这个问题?您应该看看答案,因为您的代码中仍然存在一些错误。