Pagina del negozio WooCommerce per utilizzare il mio modello personalizzato [chiuso]


9

Prima di porre la domanda, voglio dirti che ho già posto la domanda in /programming/15025213/wordpress-woocommerce-template-file-overiding

Sto usando il plugin WooCommerce per sviluppare un sito web. Va tutto bene con WooCommerce. In base alle mie esigenze, ho configurato la mia home page come pagina di base del negozio dalla dashboard di WooCommerce per rendere la mia home page la pagina del negozio. Ora il mio requisito è posizionare alcune immagini che dovrebbero essere caricate dal lato amministratore e mostrare del testo sulle immagini. Per quella funzione, ho cercato su Google e alcune persone mi hanno suggerito di utilizzare i campi personalizzati avanzati di WordPress . L'ho appena installato.

Ora ho visto che WooCommerce non utilizza il mio tema personalizzato. Sta usando il suo tema personalizzato. Dal momento che voglio mostrare immagini e testo usando il plug-in Campi personalizzati avanzati , ho davvero bisogno del mio modello personalizzato per usare le query per immagini e testo. Poi ho cercato di nuovo nel corso di Google per una soluzione e ho avuto il suggerimento di solo fare una copia del tema di page.phpin woocommerce.phpe poi basta sostituire il codice:

     <?php while ( have_posts() ) : the_post(); ?>

      <?php get_template_part( 'content', 'page' ); ?>

      <?php comments_template( '', true ); ?>

    <?php endwhile; // end of the loop. ?>

con

<?php woocommerce_content(); ?>

L'ho fatto ma non riesco ancora a ottenere i miei campi personalizzati dai campi personalizzati avanzati . Mi aiuti così gentilmente. Eventuali suggerimenti e aiuto saranno apprezzabili. Grazie.

Il mio codice per mostrare i campi personalizzati avanzati per immagine e testo è il seguente:

<?php $product_tab_banner = get_field('product_tab_banner');
    if($product_tab_banner): ?>
   <?php var_dump($product_tab_banner); ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" alt="<?php echo $product_tab_banner['alt']; ?>"  width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
  <?php endif; ?>

Sto usando il tema WordPress TwentyEleven.


Forse la documentazione del WC ha alcuni suggerimenti.
brasofilo,

@brasofilo Ho cercato la documentazione ma non ne ho idea ...
NewUser

Controlla se questo aiuta.
brasofilo,

sì, l'ho provato ma sta mostrando cosìFatal error: Cannot redeclare show_template() (previously declared
NewUser

Si è verificato un errore con il nome della funzione, è stato corretto.
brasofilo,

Risposte:


5

Esaminando la tua domanda, voglio dirti che il woocommerce non utilizzerà il tuo modello personalizzato. Userà il suo modello. Come vuoi usare il plugin avanzato di campi personalizzati di wordpress, voglio dirti che questa funzione funziona solo sulla pagina e sul post. Pertanto, poiché il woocommerce non consente di utilizzare il proprio modello personalizzato, non è possibile utilizzare le funzionalità avanzate dei campi personalizzati.

Ora fai solo qualcosa di diverso. Crea il tuo modello personalizzato dove vuoi mostrare i tuoi prodotti. Quindi vai al sito http://docs.woothemes.com/document/woocommerce-shortcodes/ Qui puoi vedere gli shortcode per il woocommerce . Dove puoi facilmente mostrare quasi tutti i prodotti con la tua personalizzazione. Ora usa questi shortcode per mostrare i prodotti. Qui hai realizzato che il woocommerce utilizza il tuo modello personalizzato. Ora poiché è il tuo modello, puoi facilmente utilizzare campi personalizzati avanzati con questo. È chiaro? Se qualcosa che non riesci a capire, rispondimi. Spero che questo ti possa aiutare.


11

Non sono del tutto sicuro di aver capito correttamente il tuo problema, ma ecco il mio tentativo di replicarlo.

Innanzitutto , considera questa parte della documentazione di WooCommerce :

Se si desidera modificare uno di questi modelli, è sufficiente copiarlo in una directory all'interno del tema denominato /woocommerce, mantenendo la stessa struttura di file, ad esempio passare /templates/cart/cart.phpa themename/woocommerce/cart/cart.php. Il file copiato ora sovrascriverà il file modello predefinito di WooCommerce.

In secondo luogo , questi sono i passaggi della replica:

  • Utilizzo di WP 3.5.1, TwentyEleven 1.5, WooCommerce 1.6.6 e AdvancedCustomFields 4.0.0
  • Imposta la pagina "Acquista" come prima pagina statica in Impostazioni di lettura ( /wp-admin/options-reading.php)
  • Imposta un gruppo di campi ACF che contenga un campo immagine ( product_tab_banner), con Valore restituito come "Oggetto immagine" e da mostrare nel tipo di post "Prodotto"

Soluzione :

  • Creare la seguente cartella: /wp-content/twentyeleven/woocommerce/
  • Copia il file: /wp-content/plugins/woocommerce/templates/content-product.php in questa cartella appena creata
  • Inserisci il tuo codice in questa copia di content-product.php
$product_tab_banner = get_field('product_tab_banner');
if($product_tab_banner): ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" 
        alt="<?php echo $product_tab_banner['alt']; ?>"  
        width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" 
        height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" 
        title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
<?php endif; ?>

Ecco la pagina del prodotto:

pagina del prodotto
clicca per ingrandire

E qui il risultato nel sito:

risultato del sito


Se desideri personalizzare la pagina "Negozio", copia il file /wp-content/plugins/woocommerce/templates/archive-product.phpnella /woocommerce/cartella del tuo tema .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.