Come mostrare lo SKU del prodotto nella pagina prodotto
Sto creando un sito web e sembra che lo SKU del prodotto sia nascosto nella pagina prodotto. Ho trovato come aggiungerlo alla pagina del catalogo (negozio) ma ho bisogno di mostrarlo all'interno della pagina prodotto.
Finora, modificando il file single-product.php, sono riuscito ad aggiungerlo alla fine della pagina (cosa che non vogliamo) o prima del titolo in alto a sinistra della pagina (cosa che non vogliamo nemmeno).
Non ho trovato modo di aggiungerlo prima del prezzo e sotto il titolo del prodotto.
Il codice del file single-product.php del tema:
<?php
/**
* Titolo Prodotto Singolo
*
* Questo template può essere sovrascritto copiandolo in yourtheme/woocommerce/single-product/title.php.
*
* TUTTAVIA, occasionalmente WooCommerce dovrà aggiornare i file del template e tu (lo sviluppatore del tema)
* dovrai copiare i nuovi file nel tuo tema per mantenere la compatibilità. Cerchiamo di farlo
* il meno possibile, ma succede. Quando questo accade la versione del file template verrà
* incrementata e il readme elencherà tutti i cambiamenti importanti.
*
* @see http://docs.woothemes.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 1.6.4
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Uscita se acceduto direttamente
}
?>
<?php echo '<div class="sku">' . $product->sku . '</div>'; ?>
Ho aggiunto l'ultima riga.
Tuttavia, nel file theme/woocommerce/single-product/meta.php posso vedere che lo SKU dovrebbe essere visualizzato, cosa che non avviene:
<?php
/**
* Meta Prodotto Singolo
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 1.6.4
*/
if ( ! defined( 'ABSPATH' ) ) exit; // Uscita se acceduto direttamente
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">'.__('Categoria:','qns' ).' ', '.</span>'); ?>
<?php echo $product->get_tags( ', ', ' <span class="tagged_as">'.__('Tags:','qns' ).' ', '.</span>'); ?>
</div>
Avete idee su come posso mostrare il numero SKU del prodotto all'interno della pagina prodotto?
Grazie in anticipo.

Aggiungi questo al tuo 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();
}
Questo mostrerà lo SKU del prodotto sotto il titolo del prodotto. Vedi l'immagine qui sotto. Lo SKU del prodotto è VERTEX-SLVR.

FINALMENTE!!! GRAZIE!!!!
Qualche idea su come aggiungere la parola "SKU:" davanti al numero SKU?

Nessun problema, ho aggiornato il codice originale per aggiungere 'SKU:' prima del Product SKU. Potresti segnare la mia risposta come accettata? Grazie!

Aggiungi a functions.php, mostra solo se il prodotto ha un SKU
add_action( 'woocommerce_single_product_summary', 'dev_designs_show_sku', 5 );
function dev_designs_show_sku(){
global $product;
$sku = $product->get_sku();
if ($sku != null) {
echo 'SKU: ' . $product->get_sku();
}
}

Aggiungi il seguente codice nel file functions.php
del tuo tema (o child theme):
function visupporti_get_product_quantity( $atts ) {
global $product;
$atts = shortcode_atts( array(
'id' => ”,
), $atts );
// Se non c'è un ID, probabilmente siamo già su una pagina prodotto
if ( empty( $atts['id'] ) ) {
$sku = $product->get_stock_quantity( );
} else {
// Ottieni il prodotto dall'ID per visualizzare lo SKU
$product = wc_get_product( $atts['id'] );
$sku = $product->get_stock_quantity( );
}
ob_start();
// Visualizza solo se c'è uno SKU
if ( !empty( $sku ) ) {
echo $sku;
}
return ob_get_clean();
}
add_shortcode( 'wc_sku', 'visupporti_get_product_quantity' );
Scopri maggiori dettagli su come visualizzare lo SKU sul sito.
