Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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 3的购物车和结账页面上显示SKU_Php_Wordpress_Woocommerce_Checkout_Cart - Fatal编程技术网

Php 在Woocommerce 3的购物车和结账页面上显示SKU

Php 在Woocommerce 3的购物车和结账页面上显示SKU,php,wordpress,woocommerce,checkout,cart,Php,Wordpress,Woocommerce,Checkout,Cart,我想在购物车(产品栏下)和结帐页面上显示SKU 我搜索过了,但所有答案都是针对WooCommerce的旧版本,没有一个是针对3.x的 如何在Woocommerce 3的购物车和结账页面上显示SKU?您需要执行一些模板覆盖 购物车 将plugins/woocommerce/templates/cart/cart.php复制到主题文件my_-theme/woocommerce/cart/cart.php,如果它还没有。然后在大约第85行添加以下内容 2021年更新 您可以通过挂接在woocommer

我想在购物车(产品栏下)和结帐页面上显示SKU

我搜索过了,但所有答案都是针对WooCommerce的旧版本,没有一个是针对3.x的


如何在Woocommerce 3的购物车和结账页面上显示SKU?

您需要执行一些模板覆盖

购物车

plugins/woocommerce/templates/cart/cart.php
复制到主题文件
my_-theme/woocommerce/cart/cart.php
,如果它还没有。然后在大约第85行添加以下内容

2021年更新

您可以通过挂接在
woocommerce\u cart\u item\u name
操作钩子中的自定义函数来完成此操作,方法如下:

// Display the sku below cart item name
add_filter( 'woocommerce_cart_item_name', 'display_sku_after_item_name', 5, 3 );
function display_sku_after_item_name( $item_name, $cart_item, $cart_item_key ) {
    $product = $cart_item['data']; // The WC_Product Object

    if( is_cart() && $product->get_sku() ) {
        $item_name .= '<br><span class="item-sku">'. $product->get_sku() . '</span>';
    }
    return $item_name;
}

// Display the sku below under cart item name in checkout
add_filter( 'woocommerce_checkout_cart_item_quantity', 'display_sku_after_item_qty', 5, 3 );  
function display_sku_after_item_qty( $item_quantity, $cart_item, $cart_item_key ) {
    $product = $cart_item['data']; // The WC_Product Object

    if( $product->get_sku() ) {
        $item_quantity .= '<br><span class="item-sku">'. $product->get_sku() . '</span>';
    }
    return $item_quantity;
}
/**
 * @snippet       Show SKU @ WooCommerce Cart
 * @author        Khalid Almallahi
 */

add_action( 'woocommerce_after_cart_item_name', 'abukotsh_sku_below_cart_item_name', 11, 2 );

function abukotsh_sku_below_cart_item_name( $cart_item, $cart_item_key ) {
    $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    $sku = $_product->get_sku();
    if ( ! $sku ) return;
    echo '<p><small>SKU: ' . $sku . '</small></p>';
}
//在购物车项目名称下显示sku
添加过滤器('woocommerce\u cart\u item\u name','display\u sku\u follow\u item\u name',5,3);
功能显示商品名称后的商品库存($item\u name、$cart\u item、$cart\u item\u key){
$product=$cart_项目['data'];//WC_产品对象
如果(是购物车()&&$product->get_sku()){
$item_name.='
'.$product->get_sku(); } 返回$item_name; } //在结帐中的购物车项目名称下显示下面的sku 添加过滤器('woocommerce\u checkout\u cart\u item\u quantity'、'display\u sku\u after\u item\u quantity',5,3); 功能显示商品数量后的商品库存($item\u quantity、$cart\u item、$cart\u item\u key){ $product=$cart_项目['data'];//WC_产品对象 如果($product->get_sku()){ $item_quantity.='
'.$product->get_sku(); } 返回$item\u数量; }
代码位于活动子主题(或主题)的function.php文件或任何插件文件中

这段代码经过测试并在WooCommerce 3+上运行。您将获得:


相关类似:

您可以通过以下方式完成:

// Display the sku below cart item name
add_filter( 'woocommerce_cart_item_name', 'display_sku_after_item_name', 5, 3 );
function display_sku_after_item_name( $item_name, $cart_item, $cart_item_key ) {
    $product = $cart_item['data']; // The WC_Product Object

    if( is_cart() && $product->get_sku() ) {
        $item_name .= '<br><span class="item-sku">'. $product->get_sku() . '</span>';
    }
    return $item_name;
}

// Display the sku below under cart item name in checkout
add_filter( 'woocommerce_checkout_cart_item_quantity', 'display_sku_after_item_qty', 5, 3 );  
function display_sku_after_item_qty( $item_quantity, $cart_item, $cart_item_key ) {
    $product = $cart_item['data']; // The WC_Product Object

    if( $product->get_sku() ) {
        $item_quantity .= '<br><span class="item-sku">'. $product->get_sku() . '</span>';
    }
    return $item_quantity;
}
/**
 * @snippet       Show SKU @ WooCommerce Cart
 * @author        Khalid Almallahi
 */

add_action( 'woocommerce_after_cart_item_name', 'abukotsh_sku_below_cart_item_name', 11, 2 );

function abukotsh_sku_below_cart_item_name( $cart_item, $cart_item_key ) {
    $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    $sku = $_product->get_sku();
    if ( ! $sku ) return;
    echo '<p><small>SKU: ' . $sku . '</small></p>';
}
/**
*@snippet Show SKU@WooCommerce Cart
*@作者哈立德·阿尔马拉希
*/
添加商品操作(商品名称后加“woocommerce”,商品名称下加“abukotsh”sku,11,2);
函数abukotsh\U sku\U位于购物车项目名称($cart\U item,$cart\U item\U key)下{
$\u product=apply\u过滤器('woocommerce\u cart\u item\u product'、$cart\u item['data']、$cart\u item、$cart\u item\u key);
$sku=$\u产品->获取\u sku();
如果(!$sku)退货;
回显“SKU:”.$SKU.

”; }
谢谢您的回答。我将代码添加到活动主题的functions.php中,但SKU仍然没有显示。我的产品是可变产品,所有变量都有不同的SKU,但我想这不重要。还有其他建议吗?很简单。谢谢我已经试过了,但SKU没有显示。谢谢你的回答!