2016-03-30 3 views
1

Also mache ich eine One-Page-Site für einen Kunden, der einen Webshop enthält. Jetzt bildet jede WP-Seite eine Folie. Die Folien verwenden verschiedene Themen-Vorlagen und in einer der Folien namens "Shop" möchte ich alle WooCommerce-Produkte anzeigen (es verwendet die Vorlage slide-shop.php. Im Moment ist die <ul class="products"> Echo, aber der Inhalt ist leer. Wenn Sie gehen Sie auf die Seite uRL (site.com/shop) Alle Produkte von feiner zeigenWordPress Include woocommerce-Produkte in einem One-Page-Layout

one-page.php.

<?php 
    $pages = get_pages(array('sort_column' => 'menu_order')); 
    $i = 0; 
    foreach ($pages as $page_data) { 
     $page_ID = $page_data->ID; 
     //$slug = $page_data->post_name; 
     $content = apply_filters('the_content', $page_data->post_content); 
     $title = $page_data->post_title; 
     $template = get_page_template_slug($page_ID); 
     $i++; 
?> 

<section id="slide-<?php echo $i; ?>" class="slide cf"> 
    <div class="slide-wrap cf">   
     <div class="slide-con item cf" >    
      <?php include($template); ?> 
     </div> 
    </div> 
</section> 
<?php 
    } /*end foreach*/ 
?> 

Dia-shop.php:

/* 
Template Name: Slide w. shop 
*/ 
?> 
    <div class="slide-header cf"> 
     <h2><?php echo $title ?></h2> 
    </div> 
    <div class="slide-body cf"> 
     <div class="col d-1of2 cf"> 
      <?php echo $content ?> 

     </div> 

     <div class="col d-1of2 cf"> 
       <?php woocommerce_content(); ?> 
     </div> 
    </div> 
+0

ich kann nicht verstehen, was Sie genau wollen? ich denke, dass Sie Ihr ganzes wooocmmerce Produkt auf einzelner Seite zeigen möchten –

+0

Entschuldigung, wenn ich unklar bin. So habe ich eine Ein-Seite-Seite mit einer Anzahl von Folien, die verschiedene Seiten-Vorlagen verwenden (jede Folie ist eine Seite in wp-admin). Eine der Folien sollte die vom Administrator erstellten Woocommerce-Produkte anzeigen, funktioniert aber nicht. –

+0

jede URL ?? wo ich es überprüft habe –

Antwort

3

Documentation für woocommerce_content states:

Diese Funktion wird nur in der optionalen 'woocommerce.php' Vorlage verwendet. welche Leute ihren Themen hinzufügen können, um grundlegende Woocommerce-Unterstützung hinzuzufügen. ohne Haken oder ändern Kernvorlagen.

Also in Ihrem Fall wäre die Lösung

<?php woocommerce_content(); ?>

mit

<?php echo do_shortcode("[products]"); ?>

zu ersetzen sein, dass die Produkte in Ihrer Folie angezeigt bekommen sollte.

+0

Prost, dass es schön und einfach behoben:) –

+0

BTW, dies zeigt nur die Produkte Thumbnail, Titel & Preis. Was wäre, wenn ich den Produkt-Content aus dem WYSIWYG-Editor wiedergeben möchte? Wie würde ich das machen? –

+0

In diesem Fall müssen Sie Ihre eigene WP_Query ausführen, alle Produkte abrufen und dann in der Schleife 'the_content()' verwenden, um den Inhalt aus dem WYSIWYG-Editor anzuzeigen. Wenn Sie diese Route gehen, müssen Sie alles manuell anzeigen, der Preis wird als benutzerdefiniertes Meta gespeichert, also müssen Sie 'get_post_meta' verwenden. –