在 Woocommerce 单个产品页面中用 SKU 替换产品标题

Replace product title by the SKU in Woocommerce single product page

我正在使用 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 显示在产品标题之后。 我该怎么做?

感谢任何帮助。

以下代码将用单个产品页面上的产品 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>';
}

代码进入活动 child 主题(或活动主题)的 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>';
    }
}

代码进入活动 child 主题(或活动主题)的 function.php 文件。已测试并有效。