我正在使用Woocommerce,我想在“产品”页面上显示SKU而不是产品标题。
我尝试了以下代码:
add_action( 'woocommerce_single_product_summary', 'custom_before_title' );
function custom_before_title() {
global $product;
if ( $product->get_sku() ) {
echo $product->get_sku();
}
}
但是价格刚好显示SKU,这不是我想要的。 我至少希望在商品名称后显示SKU。 我该怎么办?
感谢您的帮助。
答案 0 :(得分:1)
以下代码将在单个产品页面上用产品SKU替换产品标题:
add_action( 'woocommerce_single_product_summary', 'replace_product_title_by_product_sku', 4 );
function replace_product_title_by_product_sku() {
global $product;
if ( $product->get_sku() ) {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'display_product_sku_as_title', 5 );
}
}
function display_product_sku_as_title() {
global $product;
echo '<h1 class="product_title entry-title">' . esc_html( $product->get_sku() ) . '</h1>';
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
要在标题下方显示产品SKU ,您将使用:
add_action( 'woocommerce_single_product_summary', 'display_product_sku_below_title', 6 );
function display_product_sku_below_title() {
global $product;
if ( $sku = $product->get_sku() ) {
echo '<p class="product_sku">' . esc_html( $sku ) . '</p>';
}
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。