0

我想在其signle产品页面中显示每个产品的SKU字段。woocommerce 插件的设置在 wordpress 中没有该选项。

我已经按照此处的说明进行操作: https ://wordpress.stackexchange.com/questions/219410/how-to-show-product-sku-on-product-page/219427#219427

我尝试functions.php将此代码添加到我的文件中:

add_action( 'woocommerce_single_product_summary', 'dev_designs_show_sku', 5 );
function dev_designs_show_sku(){
    global $product;
    echo 'SKU: ' . $product->get_sku();
}

并且还尝试将这段代码添加到主题的单品内容文件中:

if ( 'sku' === $element ) {
    woocommerce_template_single_sku();
}

文件名是owp-single-product.php

<?php
/**
 * Single product template.
 *
 * @package OceanWP WordPress theme
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly.
}

// Get price conditional display state.
$ocean_woo_single_cond = get_theme_mod( 'ocean_woo_single_conditional', false );

// Conditional vars.
$show_woo_single = '';
$show_woo_single = ( is_user_logged_in() && $ocean_woo_single_cond === true );

/**
 * Display Single Product template
 * 
 */

// Get elements.
$elements = oceanwp_woo_summary_elements_positioning();

// Loop through elements.
foreach ( $elements as $element ) {

    do_action( 'ocean_before_single_product_' . $element );

    // Title.
    if ( 'title' === $element ) {

        woocommerce_template_single_title();

    }
    
    // Sku.
    if ( 'sku' === $element ) {

        woocommerce_template_single_sku();

    }

    // Rating.
    if ( 'rating' === $element ) {

        woocommerce_template_single_rating();

    }

    // Price.
    if ( 'price' === $element ) {

        if ( false === $ocean_woo_single_cond || $show_woo_single ) {

            woocommerce_template_single_price();

        }
    }

    // Excerpt.
    if ( 'excerpt' === $element ) {

        woocommerce_template_single_excerpt();

    }

    // Quantity & Add to cart button.
    if ( 'quantity-button' === $element ) {

        if ( false === $ocean_woo_single_cond || $show_woo_single ) {

            woocommerce_template_single_add_to_cart();

        } else {

            // Get Add to Cart button message display state.
            $ocean_woo_single_msg = get_theme_mod( 'ocean_woo_single_cond_msg', 'yes' );

            if ( 'yes' === $ocean_woo_single_msg ) {

                // Get Add to Cart button replacement message.
                $ocean_woo_single_msg_txt = get_theme_mod( 'ocean_woo_single_cond_msg_text' );
                $ocean_woo_single_msg_txt = $ocean_woo_single_msg_txt ? $ocean_woo_single_msg_txt : esc_html__( 'Log in to view price and purchase', 'oceanwp' );

                $woo_single_myaccunt_link = get_theme_mod( 'ocean_single_add_myaccount_link', false );

                echo '<div class="owp-woo-single-cond-notice">';
                if ( false === $woo_single_myaccunt_link ) {
                    echo '<span>'. $ocean_woo_single_msg_txt .'</span>';
                } else {
                    echo '<a href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '">' . $ocean_woo_single_msg_txt . '</a>';
                }   
                echo '</div>';

            }
        }
    }

    // Meta.
    if ( 'meta' === $element ) {

        woocommerce_template_single_meta();
        
    }

    do_action( 'ocean_after_single_product_' . $element );

}

不工作!我该怎么办?

4

1 回答 1

0

你可以试试这个在产品标题后显示 sku

add_action( 'ocean_after_single_product_title', 'show_product_sku', 5 );
function show_product_sku(){
    global $product;
    echo 'SKU: ' . $product->get_sku();
}
于 2021-01-24T09:06:23.160 回答