Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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管理订单页面中用SKU替换产品名称_Php_Wordpress_Woocommerce_Orders_Sku - Fatal编程技术网

Php 在Woocommerce管理订单页面中用SKU替换产品名称

Php 在Woocommerce管理订单页面中用SKU替换产品名称,php,wordpress,woocommerce,orders,sku,Php,Wordpress,Woocommerce,Orders,Sku,同样,这将是我在这个主题上的最后一个问题(如果我问的问题太多,我很抱歉),我想在WoodPress后端管理员的Woocommerce-->Orders-->Order Details中用SKU替换产品名称 关于如何在论坛上实现这一点,我没有找到任何可以理解的解释(我真的不懂php代码)。我刚刚发现可能应该使用的过滤器挂钩是“woocommerce\u order\u items”和“woocommerce\u order\u itemmeta”,但坦率地说,我不知道如何使用它们 在WordPr

同样,这将是我在这个主题上的最后一个问题(如果我问的问题太多,我很抱歉),我想在WoodPress后端管理员的Woocommerce-->Orders-->Order Details中用SKU替换产品名称

关于如何在论坛上实现这一点,我没有找到任何可以理解的解释(我真的不懂php代码)。我刚刚发现可能应该使用的过滤器挂钩是“woocommerce\u order\u items”和“woocommerce\u order\u itemmeta”,但坦率地说,我不知道如何使用它们


在WordPress后端管理员的Woocommerce-->Orders-->Order Details中,是否可以知道用SKU替换产品名称的正确代码?如果有可能也有一些参考了解这些挂钩,我将非常感谢。谢谢

您需要使用由以下方法制成的复合过滤器挂钩:

add_filter( 'woocommerce_order_item_get_name', 'filter_order_item_get_name', 10, 2 );
function filter_order_item_get_name( $item_name, $order_item ) {
    if ( is_admin() && $order_item->is_type('line_item') ) {
        $product = $order_item->get_product();

        if( $sku = $product->get_sku() ) {
            $item_name = $sku;
        }
    }
    return $item_name;
}

代码进入活动子主题(或活动主题)的function.php文件。测试和工作。

和往常一样,你的答案是完美的。非常感谢你。我不明白过滤器挂钩和复合过滤器挂钩的区别是什么。我想我应该读一些关于它的文章。最后一个问题:装运项目中的sku是什么?是代码
add_filter('woocmerce_order_shipping_item_get_name','filter_order_shipping_item_get_name',10,2);函数filter_order_shipping_item_get_name($item_name,$order_item){if(is_admin()&&&$order_item->is_type('line_item'){$product=$order_item->get_product();if($sku=$product->get_sku()){$item_name=$sku;}返回$item_name;}
@AlexandreDeplancke抱歉,我听不懂……如果你还有其他问题,请问一个新问题。