Php 更改商品名称
我在堆栈溢出方面没有50%的声誉,所以我不能在帖子上发表评论。要问一个问题,我必须提出一个新问题不幸的是:/ 因此,从这里开始:Php 更改商品名称,php,wordpress,woocommerce,checkout,cart,Php,Wordpress,Woocommerce,Checkout,Cart,我在堆栈溢出方面没有50%的声誉,所以我不能在帖子上发表评论。要问一个问题,我必须提出一个新问题不幸的是:/ 因此,从这里开始: OP询问有关更改购物车商品名称的问题 下面的答案, @ 回复帮助了我,但还不够完整 我已经测试了他给出的代码 add_filter( 'woocommerce_before_calculate_totals', 'custom_cart_items_prices', 10, 1 ); function custom_cart_items_prices( $cart
OP询问有关更改购物车商品名称的问题 下面的答案,
@ 回复帮助了我,但还不够完整 我已经测试了他给出的代码
add_filter( 'woocommerce_before_calculate_totals', 'custom_cart_items_prices', 10, 1 );
function custom_cart_items_prices( $cart_object ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
// Iterating through cart items
foreach ( $cart_object->get_cart() as $cart_item ) {
// Get the product name (item name)
$id = $cart_item['data']->get_name();
// THE NEW NAME
$new_name = 'mydesiredproductname';
// Set your cart item name
$cart_item['data']->set_name( $new_name );
}
}
它工作得很好,因为购物车页面、结帐页面、客户发票页面和管理订单页面上的代码已更改为“mydesiredproductname”,但我希望购物车页面、结帐页面、客户发票页面和管理订单页面保持不变,唯一更改的是提交到支付网关的项目名称。不知道这是否可能?或者我能达到的最接近的目标是什么
ps:我测试了is\u cart
和is\u checkout
功能,对于is\u cart,购物车保持不变,对于is\u checkout,结账页面保持不变
任何帮助都将不胜感激
谢谢 请给出一个更详细的例子来详细说明,并准确描述您采取的步骤以及哪些步骤没有达到预期效果。我通过@LoicTheAztecadd_过滤器使用了此代码('woocommerce_-before_-calculate_-totals'、'custom_-cart_-items_-prices',10,1);函数custom_cart_items_prices($cart_object){if(is_admin()&&&!defined('DOING_AJAX'))return;//遍历每个购物车的购物车项目($cart_object->get_cart()as$cart_item){//获取产品名称(项目名称)$id=$cart_item['data']->get_name();//新名称$NEW_NAME='mydesiredproductname';//设置购物车项目名称$cart_item['data']->Set_NAME($NEW_NAME);}它们工作得很好,但我希望购物车页面、结帐页面、客户发票页面和管理订单页面保持不变,唯一更改的是提交到支付网关的项目名称。这太复杂了,因为它依赖于支付网关集成可用的挂钩(我认为)…您可以查看…但不会真正帮助您。要进行的更改在您的相关支付网关代码中。请通过提供更详细的示例进行详细说明,并准确描述您所采取的步骤以及未按预期工作的步骤。我通过@LoicTheAztecadd\u过滤器使用此代码('woocommerce\u before\u calculates\u total'、'custom\u cart\u items\u price',10,1);函数custom_cart_items_prices($cart_object){if(is_admin()&&&!defined('DOING_AJAX'))return;//遍历每个购物车的购物车项目($cart_object->get_cart()as$cart_item){//获取产品名称(项目名称)$id=$cart_item['data']->get_name();//新名称$NEW_NAME='mydesiredproductname';//设置购物车项目名称$cart_item['data']->Set_NAME($NEW_NAME);}它们工作得很好,但我希望购物车页面、结帐页面、客户发票页面和管理订单页面保持不变,唯一更改的是提交到支付网关的项目名称。这太复杂了,因为它依赖于支付网关集成可用的挂钩(我认为)…您可以查看…但不会真正帮助您。要进行的更改在您的相关支付网关代码中。