Mostrare un Singolo Prodotto Woocommerce nella Homepage
Attualmente sto imparando PHP e come personalizzare WordPress.
Ho creato un negozio su WordPress utilizzando il plugin WooCommerce. Il negozio contiene un solo articolo. Dal momento che ho solo 1 prodotto da vendere, vorrei mostrare il prodotto nella mia homepage in modo tale che la pagina completa del prodotto sia visualizzata nella homepage.
Ecco un po' di codice che ho provato a far funzionare (posizionato nel file home.php):
$prodpage = array(
'post_type' => 'product',
'posts_per_page' => 1,
'taxonomy' => 'banner',
'term' => 'banner'
);
$featured_query = new WP_Query( $prodpage );
if ($featured_query->have_posts()) :
while ($featured_query->have_posts()) :
$featured_query->the_post();
$product = get_product( $featured_query->product->ID );
// Output Informazioni Prodotto Qui
endwhile;
endif;
wp_reset_query(); // Reset della Query
Ho anche provato a utilizzare query_posts in questo modo:
if ( is_home() ) {
query_posts( 'p=31' );
}
La buona notizia è che non ricevo segnalazioni per errori di sintassi. La cattiva notizia è che temo che la mia logica sia sbagliata da qualche parte poiché ottengo una pagina con solo l'header e il footer di WP. La sezione centrale dove dovrebbe apparire il prodotto non viene visualizzata.
Apprezzo molto qualsiasi guida che potete darmi! :)
Perché non usare semplicemente lo shortcode product_page?
Nel contenuto della pagina:
[product_page id="31"]
Nel codice del template della home page:
<?php echo do_shortcode('[product_page id="31"]'); ?>

Wow! Grazie! Avevo trovato quel metodo durante la mia ricerca ma pensavo (leggi: presumevo) che avrebbe mostrato solo la miniatura e il pulsante per aggiungere al carrello. Sì... le supposizioni. Accidenti. Ancora grazie! :)

L'ho provato ma mostrava solo la miniatura e il pulsante per aggiungere al carrello. Lo snippet di codice che hai fornito per lo shortcode manuale mostrava invece la pagina prodotto completa. Mi chiedo se bastava inserire [product_page id="31"] nel mio post WordPress. Avrebbe mostrato la pagina completa allora? Vado a testare!
