Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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 更改商品名称_Php_Wordpress_Woocommerce_Checkout_Cart - Fatal编程技术网

Php 更改商品名称

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

我在堆栈溢出方面没有50%的声誉,所以我不能在帖子上发表评论。要问一个问题,我必须提出一个新问题不幸的是:/

因此,从这里开始:

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);}它们工作得很好,但我希望购物车页面、结帐页面、客户发票页面和管理订单页面保持不变,唯一更改的是提交到支付网关的项目名称。这太复杂了,因为它依赖于支付网关集成可用的挂钩(我认为)…您可以查看…但不会真正帮助您。要进行的更改在您的相关支付网关代码中。