web-dev-qa-db-ja.com

商品ページに商品SKUを表示する方法

私はウェブサイトを作っています、そしてそれは製品skuが製品ページから隠されているようです。カタログ(ショップ)ページに追加する方法を見つけましたが、商品ページ内に表示するには必要です。

これまでのところ、single-product.phpを変更することによって、私はそれをページの最後(私たちが望まないもの)またはページの左上のタイトルの前(私たちも望まないもの)に追加することができました。

私は価格の前で商品のタイトルの下にそれを追加する方法を見つけませんでした。

テーマのsingle-product.phpのコード:

    <?php
/**
 * Single Product title
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/single-product/title.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you (the theme developer).
 * will need to copy the new files to your theme to maintain compatibility. We try to do this.
 * as little as possible, but it does happen. When this occurs the version of the template file will.
 * be bumped and the readme will list any important changes.
 *
 * @see         http://docs.woothemes.com/document/template-structure/
 * @author  WooThemes
 * @package WooCommerce/Templates
 * @version 1.6.4
 */

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

?>
<?php echo '<div class="sku">' . $product->sku . '</div>'; ?>

最後の行を追加しました。

しかし、テーマ/ woocommerce/single-product/meta.phpでは、skuが表示されるはずです。

<?php
/**
 * Single Product Meta
 *
 * @author      WooThemes
 * @package     WooCommerce/Templates
 * @version     1.6.4
 */

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

global $post, $product;
?>
<div class="product_meta">

    <?php if ( $product->is_type( array( 'simple', 'variable' ) ) && get_option('woocommerce_enable_sku') == 'yes' && $product->get_sku() ) : ?>
        <span itemprop="productID" class="sku"><?php _e('SKU:','qns' ); ?> <?php echo $product->get_sku(); ?>.</span>
    <?php endif; ?>

    <?php echo $product->get_categories( ', ', ' <span class="posted_in">'.__('Category:','qns' ).' ', '.</span>'); ?>

    <?php echo $product->get_tags( ', ', ' <span class="tagged_as">'.__('Tags:','qns' ).' ', '.</span>'); ?>

</div>

製品ページ内に製品のSKU番号を表示する方法について何か考えはありますか。

前もって感謝します。

5
CreationP

これをあなたの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();
}

これにより、製品タイトルの下に製品SKUが出力されます。下の画像を見てください。製品SKUはVERTEX-SLVRです。

enter image description here 

5
Joe Dooley

あなたの(子)テーマのfunctions.phpに以下のコードを追加してください:

function visupporti_get_product_quantity( $atts ) {

global $product;

$atts = shortcode_atts( array(
‘id’ => ”,
), $atts );

// If no id, we’re probably on a product page already
if ( empty( $atts[‘id’] ) ) {

$sku = $product->get_stock_quantity( );

} else {

//get which product from ID we should display a SKU for
$product = wc_get_product( $atts[‘id’] );
$sku = $product->get_stock_quantity( );

}

ob_start();

// Only echo if there is a SKU
if ( !empty( $sku ) ) {
echo $sku;
}

return ob_get_clean();

}
add_shortcode( ‘wc_sku’, ‘visupporti_get_product_quantity’ );

サイト上でSKUを表示する方法 の詳細を参照してください。

0
Zoe