Php 更改产品名称和缩略图,在WooCommerce中动态附加文件

Php 更改产品名称和缩略图,在WooCommerce中动态附加文件,php,wordpress,function,woocommerce,Php,Wordpress,Function,Woocommerce,我是Wordpress和WooCommerce的新手。我真的很想在没有来自数据库的产品引用的情况下进行这些操作,比如通过传递参数直接将产品添加到购物车中,比如FoxyCart是如何操作的,但我认为WooCommerce无法做到这一点。因此,第二种选择是将产品添加到数据库中,然后动态更新信息。总之,我可以使用下面的代码在WoodPress和WooCommerce中更改添加到购物车中的产品的价格 add_action( 'woocommerce_before_calculate_totals', '

我是Wordpress和WooCommerce的新手。我真的很想在没有来自数据库的产品引用的情况下进行这些操作,比如通过传递参数直接将产品添加到购物车中,比如FoxyCart是如何操作的,但我认为WooCommerce无法做到这一点。因此,第二种选择是将产品添加到数据库中,然后动态更新信息。总之,我可以使用下面的代码在WoodPress和WooCommerce中更改添加到购物车中的产品的价格

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price' );

function add_custom_price( $cart_object ) {
    foreach ( $cart_object->cart_contents as $key => $value ) {
    if ( $value['product_id'] == 9 ) {
         $value['data']->price = 500;
    }
    }
}
我编辑了代码,因此如果产品id为9,价格将更改为500。我喜欢这种方法,因为它不会更新数据库中的任何内容。现在,我希望能够更改购物车中商品的产品名称,而无需更改数据库中的任何内容


图中显示我有样品产品作为产品名称。我希望能够更改名称。还有什么我可以做的吗?我尝试过其他值名称,但找不到正确的名称。我应该使用的正确值名称是什么?我尝试在数据库中搜索,字段名应该是post_title作为产品名,但我肯定错了,因为它不起作用。price字段作为单元值保存为POST的元数据,我不知道默认代码是如何获取此产品名称的。我还想附上一个文件的产品。可以附加一个文件吗?是否也可以覆盖拇指邮件图像?非常感谢。

您能解释一下为什么不想更新数据库吗?为什么可以有多个产品,每个产品都有各自的价格、名称和缩略图?我不熟悉FoxyCart,所以我不知道你想要实现什么。这是因为产品都是定制的。我编写了一个基于浏览器的设计器,它根据用户创建的设计自动计算价格,因此没有什么是固定的。图片上的产品只是一个样本。最终出售的产品不是这样的。为了快速调试,我已经将web应用程序与此分离。谢谢。好的,我知道你现在在做什么了。我想你可能想仔细看看WC_Cart类。您可以通过woocommerce\u add\u cart\u item在购物车中更改商品的价格/名称。然后通过woocommerce\u get\u cart\u item\u from\u session维护该更改。这应该适用于动态值。但是要以不同的方式显示购物车,还需要查看templates/cart/cart.php。这里有相关的过滤器,如woocommerce\u cart\u item\u name和woocommerce\u cart\u item\u缩略图。非常感谢您,女士。我会调查的。到目前为止,我所做的只是添加了比其他所有操作都要先执行的代码,因此,如果代码找到匹配的ID,它甚至会在执行数据库价格检索之前设置一个价格。我想到的唯一一个真正灵活定价的方法就是使用cookies。这对我来说很有用。WooCommerce是否支持没有第三方应用的文件附件?附件不仅用于缩略图,还用于生成的文件本身。