php - 修改 WooCommerce 存档产品页面以显示每个产品的 SKU
问题描述
作为标准,WooCommerce 存档页面显示带有图像、标题和购买“按钮”的产品并排堆叠在一个块上。我想要的是还让它显示自定义字段,例如 SKU、颜色等。
我试图添加
$block_data['sku'] = $product->get_sku();
接着
$layout['sku'] = array();
代码的结果(这只是 .php 文件的一部分):
$block_data['content'] = get_the_content();
$block_data['classes'] = $block_classes;
$block_data['tmb_data'] = $tmb_data;
$block_data['id'] = $post->ID;
$block_data['media_id'] = $item_thumb_id;
$block_data['title_classes'] = $title_classes;
$block_data['link'] = get_permalink();
$block_data['text_length'] = 300;
$block_data['product'] = true;
$block_data['sku'] = $product->get_sku();
$categories_id = array();
$categories_link = array();
$woo_categories = get_the_terms( $post->ID, 'product_cat' );
if (isset($woo_categories) && !empty($woo_categories)) {
foreach ( $woo_categories as $woo_cat ) {
$woo_cat_id = $woo_cat->term_id; //category ID
$woo_cat_name = $woo_cat->name; //category name
$block_data['single_categories_id'] = $categories_id;
$block_data['single_categories'] = $categories_link;
if ($item_thumb_id !== '') {
$layout['media'] = array();
} else {
$layout['media'] = array('placeholder');
}
$layout['title'] = array();
$layout['price'] = array();
$layout['sku'] = array();
我希望输出是这个顺序图像 - 标题 - 价格 - SKU,但它不输出任何 SKU
解决方案
将此添加到您当前的活动主题中functions.php
在产品标题后添加 SKU
function woocommerce_item_sku_on_archive() {
global $product;
if ( $product->get_sku() ) {
echo $product->get_sku();
}
}
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_item_sku_on_archive');
在产品价格后添加 SKU
function custom_sku_after_price_loop( $price ) {
global $product;
if ( $product->get_sku() ) {
$sku = $product->get_sku();
return $price . '<br /><span class="product-sku">' . $sku . '</span>';
}else {
return $price;
}
}
add_filter( 'woocommerce_get_price_html', 'custom_sku_after_price_loop' );
推荐阅读
- javascript - 将 JSON 转换为可读格式
- reactjs - 使用 ion page 作为 ion modal 的内容
- ios - 如何使用 Firestore 搜索用户?
- android - Android Studio 无法创建新项目
- javascript - Tesseract.js 传播语法(省略号)错误“意外的令牌...”
- python - 如何在嵌套循环中有效地使用 pop
- visual-studio - 在 Visual Studio docker 环境中挂载主目录
- android - Firebase UI Recyclerview OnClick 不工作,尝试了一切。这不是一个重复的问题
- javascript - Href 行为 - 需要明确
- python - 熊猫重采样功能背后的直觉