当前位置: 首页 > 知识库问答 >
问题:

在Woocommerce 3中使用产品积垢设置器方法

长孙景天
2023-03-14

在下面的代码中,我无法设置某些产品类别和产品标签:

代码位于我的函数中。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

产品是用正确的名称价格创建的。但我对产品类别和产品标签一无所获:

terms:
[terms table][1]

term_taxonomy:
[term_taxonomy table][2]

编辑:我已将此代码移动到索引中。php文件,它可以工作。

共有1个答案

朱梓
2023-03-14

自WoodCommerce 3以来,有了新的CRUD方法。

但是你不能在变量中使用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

用于功能。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();
 类似资料:
  • 在WooCommerce中,我试图找到一种类似于方法或的方法,例如,设置产品类型,如简单或变化。 实际上,我使用的是对象如下: 如果用户选中“简单产品”或“可变产品”,我如何设置产品类型? 任何帮助都很感激。

  • 我正在开发一个航空公司管理系统,通过JPA Crudepository方法访问mysql数据库。每当我试图使用存储库将飞行对象保存到数据库中时。保存(flightObject),它会引发以下错误- 我的航班创建功能如下- 我的航班存储库类- 我的飞行实体类如下- 我的可嵌入平面类如下- 这是我的数据库架构图像- 如果你能发现任何错误,请告诉我。我已经试了一段时间了,但没有成功。我们可以打印JPA查

  • 我有一个Woocommerce商店,里面有各种各样的产品。 我要给所有产品打八折,属于产品类别Cuckoo 现在我所要做的就是在我的functions.php中设定一个销售价格 它的做法如下: 如果我在计算后var_dump$sale_price的结果,我会得到正确的答案,但是前端的价格显示会击出正常价格,并将销售价格显示为正常价格。 是否有一个钩子/过滤器可以用来实现这一点? 我还尝试通过以下方

  • 云许可是面向互联网环境下使用SuperMap GIS软件产品的授权工具,要保证网络连接畅通才能正常使用。获取云许可的用户仅需登录SuperMap Online账户即可在产品中使用云许可。本文介绍了多种SuperMap GIS产品云许可的使用方法,包括: SuperMap iServer SuperMap iDesktop SuperMap iManager SuperMap iObjects .N

  • 问题内容: 在我目前的公司中,我们正在考虑使用jPOS与其他系统进行ISO 8583集成。我阅读免费文档已有一段时间了,但是仍然有很多空白。例如: jPOS应该如何在产品中工作?我是否应该启动Q2服务器,它会像端点接收或发送ISO8583消息那样工作?我应该如何将其与我的应用服务器集成? 在哪些情况下以及如何使用jPOS空间? 我的基本用例是发送/接收ISO消息。我需要所有这些东西吗? 是否还有其

  • 我正在设计一个页面,它将有一个工具,搜索和显示结果到一个带有分页的表中,用户可以自由选择每页要显示的行数。 控制器包含以下功能: 设置和管理。php 意见如下: 公司php 当我输入行数并按下按钮时,它返回所需的分页,但页面链接数不等于所需的。e、 g.如果搜索只返回一行,它应该显示在表中,没有任何页面链接。但在我的例子中,它显示的是单行(搜索结果)和所有页面链接(等于总行数/每页)。 这可能是因