在 WooCommerce 购物车页面上显示购物车商品名称中的 SKU
Displaying the SKU in cart item names on WooCommerce cart page
我在购物车页面中显示带有产品标题的 SKU 值,但现在每个单词 SKU 和产品标题都得到 linking separately.how 我可以只显示单个 link 而不是有link分开。
用于显示 SKU 值 在购物车页面中添加此代码
Functions.php
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3);
function add_sku_in_cart( $title, $values, $cart_item_key ) {
$sku = $values['data']->get_sku();
$url = $values['data']->get_permalink( $product->ID );
$final='<a href="'. $url .'">SKU: '. $sku .'</a>';
return $title ? sprintf("%s - ", $final) .$title : $final;
}
Example
Right now showing this
<a href="http://localhost/test/?product=child-product">SKU: asda121 </a> - <a href="http://localhost/test/?product=child-product">Child Product</a>
但我想要那样
<a href="http://localhost/test/?product=child-product">SKU: asda121 - Child Product</a>
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3);
function add_sku_in_cart( $title, $values, $cart_item_key ) {
$sku = $values['data']->get_sku();
$url = $values['data']->get_permalink( $product->ID );
$final='SKU: '. $sku . ($title ? ' - ' . $title : '');
return '<a href="'. $url .'">' . $final . '</a>';
}
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3);
function add_sku_in_cart(){
global $woocommerce;
$items = $woocommerce->cart->get_cart();
$product_names = array();
foreach($items as $item => $values) {
// Retrieve WC_Product object from the product-id:
$_woo_product = wc_get_product( $values['product_id'] );
// Get SKU from the WC_Product object:
$product_names[] = $_woo_product->get_sku();
}
}
您应该以这种方式使用挂接到 woocommerce_cart_item_name
过滤器挂钩中的自定义函数,以便在 Sku 和项目名称 (当sku存在时):
add_filter( 'woocommerce_cart_item_name', 'customizing_cart_item_name', 10, 3 );
function customizing_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
$product = $cart_item['data'];
$sku = $product->get_sku();
// When sku doesn't exist
if(empty($sku)) return $item_name;
$product_name = $product->get_name();
$product_id = $product->get_id();
$url = $product->get_permalink( $product_id );
return '<a href="'. $url .'">Sku: ' . $sku . ' - ' .$product_name . '<a>';
}
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。
已测试并有效
我在购物车页面中显示带有产品标题的 SKU 值,但现在每个单词 SKU 和产品标题都得到 linking separately.how 我可以只显示单个 link 而不是有link分开。
用于显示 SKU 值 在购物车页面中添加此代码 Functions.php
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3);
function add_sku_in_cart( $title, $values, $cart_item_key ) {
$sku = $values['data']->get_sku();
$url = $values['data']->get_permalink( $product->ID );
$final='<a href="'. $url .'">SKU: '. $sku .'</a>';
return $title ? sprintf("%s - ", $final) .$title : $final;
}
Example Right now showing this
<a href="http://localhost/test/?product=child-product">SKU: asda121 </a> - <a href="http://localhost/test/?product=child-product">Child Product</a>
但我想要那样
<a href="http://localhost/test/?product=child-product">SKU: asda121 - Child Product</a>
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3);
function add_sku_in_cart( $title, $values, $cart_item_key ) {
$sku = $values['data']->get_sku();
$url = $values['data']->get_permalink( $product->ID );
$final='SKU: '. $sku . ($title ? ' - ' . $title : '');
return '<a href="'. $url .'">' . $final . '</a>';
}
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3);
function add_sku_in_cart(){
global $woocommerce;
$items = $woocommerce->cart->get_cart();
$product_names = array();
foreach($items as $item => $values) {
// Retrieve WC_Product object from the product-id:
$_woo_product = wc_get_product( $values['product_id'] );
// Get SKU from the WC_Product object:
$product_names[] = $_woo_product->get_sku();
}
}
您应该以这种方式使用挂接到 woocommerce_cart_item_name
过滤器挂钩中的自定义函数,以便在 Sku 和项目名称 (当sku存在时):
add_filter( 'woocommerce_cart_item_name', 'customizing_cart_item_name', 10, 3 );
function customizing_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
$product = $cart_item['data'];
$sku = $product->get_sku();
// When sku doesn't exist
if(empty($sku)) return $item_name;
$product_name = $product->get_name();
$product_id = $product->get_id();
$url = $product->get_permalink( $product_id );
return '<a href="'. $url .'">Sku: ' . $sku . ' - ' .$product_name . '<a>';
}
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。
已测试并有效