Mostrare un Singolo Prodotto Woocommerce nella Homepage

3 dic 2013, 17:55:35
Visualizzazioni: 32.2K
Voti: 0

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! :)

5
Commenti

Sostituisci le virgolette ricci in ‘banner’ e altre occorrenze con apici semplici '.

fuxia fuxia
3 dic 2013 21:06:14

Grazie per averlo notato!! Ho rimosso le virgolette ricci come indicato. Purtroppo, ciò non ha permesso alle informazioni di essere visualizzate. :(

Miss_Scarlett80 Miss_Scarlett80
3 dic 2013 21:45:49

Prossimo passo: Leggi questa discussione.

fuxia fuxia
3 dic 2013 21:47:40

'term' non esiste come parametro per WP_Query, dovrebbe essere 'terms'. Inoltre, dovrebbe far parte di una 'tax_query'; anche il parametro 'taxonomy' è necessario. Ma dato che hai e vuoi solo un prodotto, non ha senso usarlo, non ne hai bisogno.

Nicolai Grossherr Nicolai Grossherr
3 dic 2013 22:42:59

Grazie a entrambi! Sto studiando le query ora. Ottime informazioni nell'articolo che hai postato, toscho! Stavo passando dal Codex di WordPress al manuale PHP ma non avevo una comprensione solida al 100%. Il link che hai postato ha aiutato a colmare il divario! Grazie!

Miss_Scarlett80 Miss_Scarlett80
3 dic 2013 23:05:46
Tutte le risposte alla domanda 1
3

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"]'); ?>
3 dic 2013 22:44:45
Commenti

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! :)

Miss_Scarlett80 Miss_Scarlett80
3 dic 2013 22:50:57

lo shortcode [product] fa proprio quello :)

webaware webaware
3 dic 2013 22:52:15

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!

Miss_Scarlett80 Miss_Scarlett80
3 dic 2013 23:06:53