WooCommerce-Shop-Seite zur Verwendung meiner benutzerdefinierten Vorlage [geschlossen]


9

Bevor ich die Frage stelle, möchte ich Ihnen sagen, dass ich die Frage bereits unter /programming/15025213/wordpress-woocommerce-template-file-overiding gestellt habe

Ich verwende das WooCommerce- Plugin, um eine Website zu entwickeln. Mit WooCommerce ist alles in Ordnung. Gemäß meiner Anforderung habe ich meine Homepage über das WooCommerce-Dashboard als Shop-Basisseite konfiguriert, um meine Homepage zur Shop-Seite zu machen. Jetzt muss ich einige Bilder platzieren, die von der Administratorseite hochgeladen werden sollen, und Text über den Bildern anzeigen. Für diese Funktion habe ich über Google gesucht und einige Leute haben vorgeschlagen, WordPress Advanced Custom Fields zu verwenden . Ich habe es gerade installiert.

Jetzt habe ich gesehen, dass WooCommerce mein benutzerdefiniertes Thema nicht verwendet. Es verwendet ein eigenes benutzerdefiniertes Thema. Da ich Bilder und Text mit dem Plugin "Erweiterte benutzerdefinierte Felder" anzeigen möchte, benötige ich wirklich meine eigene benutzerdefinierte Vorlage, um die Abfragen für Bilder und Text zu verwenden. Dann suchte ich erneut über Google nach einer Lösung und bekam den Vorschlag, einfach eine Kopie des Themas page.phpzu woocommerce.phperstellen und dann einfach den Code zu ersetzen:

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

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

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

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

mit

<?php woocommerce_content(); ?>

Ich habe das getan, aber ich erhalte meine benutzerdefinierten Felder immer noch nicht aus erweiterten benutzerdefinierten Feldern . Also bitte hilf mir. Alle Vorschläge und Hilfe werden dankbar sein. Vielen Dank.

Mein Code zum Anzeigen der erweiterten benutzerdefinierten Felder für Bild und Text lautet wie folgt:

<?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; ?>

Ich verwende das WordPress TwentyEleven-Thema.


Vielleicht hat die WC-Dokumentation einige Hinweise.
Brasofilo

@brasofilo Ich habe die Dokumentation durchsucht, aber dort keine Ahnung ...
NewUser

Überprüfen Sie, ob dies hilft.
Brasofilo

Ja, ich habe das versucht, aber es zeigt sich soFatal error: Cannot redeclare show_template() (previously declared
NewUser

Es ist ein Fehler mit dem Funktionsnamen aufgetreten, der nur korrigiert wurde.
Brasofilo

Antworten:


5

Wenn Sie Ihre Frage durchgehen, möchte ich Ihnen sagen, dass Woocommerce Ihre benutzerdefinierte Vorlage nicht verwendet. Es wird eine eigene Vorlage verwendet. Da Sie das WordPress-Plugin für erweiterte benutzerdefinierte Felder verwenden möchten, möchte ich Ihnen mitteilen, dass diese Funktion nur auf der Seite und im Beitrag funktioniert. Da Woocommerce die Verwendung Ihrer eigenen benutzerdefinierten Vorlage nicht zulässt, können Sie keine erweiterten Funktionen für benutzerdefinierte Felder verwenden.

Jetzt mach einfach etwas anderes. Erstellen Sie einfach Ihre eigene benutzerdefinierte Vorlage, in der Sie Ihre Produkte anzeigen möchten. Dann gehen Sie einfach auf die Website http://docs.woothemes.com/document/woocommerce-shortcodes/ Hier können Sie die sehen Shortcodes für die WooCommerce . Hier können Sie problemlos fast alle Produkte mit Ihrer eigenen Anpassung anzeigen. Verwenden Sie nun diese Shortcodes , um die Produkte anzuzeigen . Hier haben Sie erreicht, dass Woocommerce Ihre eigene benutzerdefinierte Vorlage verwendet. Da es sich nun um Ihre eigene Vorlage handelt, können Sie damit problemlos erweiterte benutzerdefinierte Felder verwenden. Ist das klar? Wenn Sie etwas nicht verstehen können, antworten Sie mir. Hoffe das wird dir helfen.


11

Ich bin mir nicht ganz sicher, ob ich Ihr Problem richtig verstehe, aber hier ist mein Versuch, es zu replizieren.

Zunächst betrachten diesen Teil WooCommerce Dokumentation :

Wenn Sie eine dieser Vorlagen bearbeiten möchten, kopieren Sie sie einfach in ein Verzeichnis innerhalb Ihres Themas mit dem Namen /woocommerce, wobei Sie die gleiche Dateistruktur beibehalten, z . B. /templates/cart/cart.phpin themename/woocommerce/cart/cart.php. Die kopierte Datei überschreibt jetzt die WooCommerce-Standardvorlagendatei.

Zweitens sind dies die Replikationsschritte:

  • Verwenden von WP 3.5.1, TwentyEleven 1.5, WooCommerce 1.6.6 und AdvancedCustomFields 4.0.0
  • Stellen Sie die Seite "Shop" als statische Startseite in den Leseeinstellungen ein (/wp-admin/options-reading.php ) ein
  • Legen Sie eine ACF-Feldgruppe fest, die ein Bildfeld ( product_tab_banner) mit dem Rückgabewert als "Bildobjekt" enthält und im Beitragstyp "Produkt" angezeigt werden soll.

Lösung :

  • Erstellen Sie den folgenden Ordner: /wp-content/twentyeleven/woocommerce/
  • Kopieren Sie die Datei: /wp-content/plugins/woocommerce/templates/content-product.php in diesen neu erstellten Ordner
  • Platzieren Sie Ihren Code in dieser Kopie von 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; ?>

Hier ist die Produktseite:

Produktseite
Klicken zum Vergrößern

Und hier das Ergebnis auf der Website:

Site-Ergebnis


Wenn Sie die Seite "Shop" anpassen möchten, kopieren Sie die Datei /wp-content/plugins/woocommerce/templates/archive-product.phpin den /woocommerce/Ordner Ihres Themas .


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.