Afișarea unui produs unic Woocommerce pe pagina principală

3 dec. 2013, 17:55:35
Vizualizări: 32.2K
Voturi: 0

În prezent învăț PHP și cum să personalizez WordPress.

Am un magazin creat în WordPress folosind plugin-ul WooCommerce. Magazinul conține un singur produs. Deoarece am doar un singur articol de vânzare, aș dori să afișez produsul pe pagina principală astfel încât pagina completă a produsului să fie vizibilă pe homepage.

Iată un cod pe care am încercat să-l fac să funcționeze (acesta este plasat în fișierul 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 );  

    // Aici vine outputul informațiilor produsului

endwhile;  

endif;  

wp_reset_query(); // Resetare Query

Am încercat de asemenea să folosesc query_posts în acest fel:

if ( is_home() ) {
query_posts( 'p=31' );
}

Vestea bună este că nu primesc niciun mesaj de eroare de sintaxă. Vestea proastă este că mă tem că logica mea este greșită undeva, deoarece obțin o pagină doar cu header-ul și footer-ul WordPress. Secțiunea din mijloc unde ar trebui să apară produsul nu se afișează.

Apreciez foarte mult orice îndrumare pe care o puteți oferi! :)

5
Comentarii

Înlocuiește ghilimelele curbate din ‘banner’ și alte apariții cu ghilimele simple '.

fuxia fuxia
3 dec. 2013 21:06:14

Mulțumesc pentru observație!! Am înlăturat ghilimelele curbate conform indicațiilor. Din păcate, asta nu a făcut ca informația să apară. :(

Miss_Scarlett80 Miss_Scarlett80
3 dec. 2013 21:45:49

Următorul pas: Citește acest fir de discuție.

fuxia fuxia
3 dec. 2013 21:47:40

'term' nu există ca parametru pentru WP_Query, ar trebui să fie 'terms'. În plus, ar trebui să facă parte dintr-un 'tax_query'; parametrul 'taxonomy' de asemenea. Dar pentru că ai și vrei doar un singur produs, nu are sens să-l folosești, nu ai nevoie de el.

Nicolai Grossherr Nicolai Grossherr
3 dec. 2013 22:42:59

Mulțumesc amândurora! Tocmai citesc despre interogări acum. Informații excelente în articolul pe care l-ai postat, toscho! Mă tot uitam înainte și înapoi între Codex-ul Wordpress și manualul PHP dar nu eram 100% sigur în înțelegerea mea. Link-ul tău a ajutat să umple golul! Mulțumesc!

Miss_Scarlett80 Miss_Scarlett80
3 dec. 2013 23:05:46
Toate răspunsurile la întrebare 1
3

De ce să nu folosești direct shortcode-ul product_page?

În conținutul paginii:

[product_page id="31"]

În codul din template-ul paginii de start:

<?php echo do_shortcode('[product_page id="31"]'); ?>
3 dec. 2013 22:44:45
Comentarii

Wow! Mulțumesc! Am dat peste acea metodă în căutările mele, dar am presupus (citeste am crezut) că ar afișa doar thumbnail-ul și butonul de adăugare în coș. Da... presupuneri. Măi să fie. Din nou, mulțumesc! :)

Miss_Scarlett80 Miss_Scarlett80
3 dec. 2013 22:50:57

shortcode-ul [product] face asta :)

webaware webaware
3 dec. 2013 22:52:15

Am încercat asta, dar a afișat doar thumbnail-ul și un buton de adăugare în coș. Fragmentul de cod pe care l-ai oferit pentru shortcode-ul manual a afișat de fapt întreaga pagină de produs. Mă întreb dacă tot ce trebuia să fac era să pun [product_page id="31"] în postarea mea WordPress. Ar fi afișat întreaga pagină atunci? Mă duc să testez!

Miss_Scarlett80 Miss_Scarlett80
3 dec. 2013 23:06:53