在 WooCommerce "My account" 订单 table 中添加产品 SKU
Add product SKU in WooCommerce "My account" orders table
目前,这是 woocommerce 订单 table 总栏下的文本。 (10 件商品的 GHS 5.00)
我想显示订单中产品的 SKU。所以 10 个 SKU.
应该是 GHS 5.00
我已将网站设置为您一次不能购买超过一种产品。
我使用这个能够更改文本的片段,但我无法显示产品 SKU
add_filter('ngettext', 'remove_item_count_from_my_account_orders', 105, 3 );
function remove_item_count_from_my_account_orders( $translated, $text, $domain ) {
switch ( $text ) {
case '%1$s for %2$s item' :
$translated = '%1$s';
break;
case '%1$s for %2$s items' :
$translated = '%1$s';
break;
}
return $translated;
}
有什么建议吗?
如果你想从总计栏中覆盖文本,又想添加某些值(例如sku),你将不得不覆盖现有栏。
这可以通过 woocommerce_my_account_my_orders_column_{$column_id}
挂钩完成。
所以你得到:
// Overwrite the existing 'order-total' column
function filter_woocommerce_my_account_my_orders_column_order_total( $order ) {
// Empty array
$product_skus = array();
// Loop through order items
foreach( $order->get_items() as $item ) {
// Get an instance of corresponding the WC_Product object
$product = $item->get_product();
// Get product SKU
$product_sku = $product->get_sku();
// NOT empty
if ( ! empty ( $product_sku ) ) {
// Push to array
$product_skus[] = $product_sku;
}
}
// Get item count
$item_count = $order->get_item_count() - $order->get_item_count_refunded();
// translators: 1: formatted order total 2: total order items
echo wp_kses_post( sprintf( _n( '%1$s for %2$s ', '%1$s for %2$s ', $item_count, 'woocommerce' ) . implode( ", ", $product_skus ), $order->get_formatted_order_total(), $item_count ) );
}
add_action( 'woocommerce_my_account_my_orders_column_order-total', 'filter_woocommerce_my_account_my_orders_column_order_total', 10, 1 );
目前,这是 woocommerce 订单 table 总栏下的文本。 (10 件商品的 GHS 5.00)
我想显示订单中产品的 SKU。所以 10 个 SKU.
应该是 GHS 5.00我已将网站设置为您一次不能购买超过一种产品。
我使用这个能够更改文本的片段,但我无法显示产品 SKU
add_filter('ngettext', 'remove_item_count_from_my_account_orders', 105, 3 );
function remove_item_count_from_my_account_orders( $translated, $text, $domain ) {
switch ( $text ) {
case '%1$s for %2$s item' :
$translated = '%1$s';
break;
case '%1$s for %2$s items' :
$translated = '%1$s';
break;
}
return $translated;
}
有什么建议吗?
如果你想从总计栏中覆盖文本,又想添加某些值(例如sku),你将不得不覆盖现有栏。
这可以通过 woocommerce_my_account_my_orders_column_{$column_id}
挂钩完成。
所以你得到:
// Overwrite the existing 'order-total' column
function filter_woocommerce_my_account_my_orders_column_order_total( $order ) {
// Empty array
$product_skus = array();
// Loop through order items
foreach( $order->get_items() as $item ) {
// Get an instance of corresponding the WC_Product object
$product = $item->get_product();
// Get product SKU
$product_sku = $product->get_sku();
// NOT empty
if ( ! empty ( $product_sku ) ) {
// Push to array
$product_skus[] = $product_sku;
}
}
// Get item count
$item_count = $order->get_item_count() - $order->get_item_count_refunded();
// translators: 1: formatted order total 2: total order items
echo wp_kses_post( sprintf( _n( '%1$s for %2$s ', '%1$s for %2$s ', $item_count, 'woocommerce' ) . implode( ", ", $product_skus ), $order->get_formatted_order_total(), $item_count ) );
}
add_action( 'woocommerce_my_account_my_orders_column_order-total', 'filter_woocommerce_my_account_my_orders_column_order_total', 10, 1 );