所以我正在为客户端制作一个单页网站,其中包括一个网店。现在,每个WP页面组成一张幻灯片。这些幻灯片使用不同的主题模板,在其中一张名为"Shop"的幻灯片中,我想显示所有WooCommerce产品(它使用模板slide-shop.php
。现在<ul class="products">
得到了响应,但是它的内容是空的。如果你转到页面url(site.com/shop
),所有产品都显示良好。
一页.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*/
?>
幻灯片商店.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>
woocommerce_content
状态的文档:
此函数仅在可选的"wooccommerce.php"模板中使用。人们可以将其添加到他们的主题中,以添加基本的wooccommerce支持。而无需挂钩或修改核心模板。
因此,在您的情况下,解决方案将是更换
<?php woocommerce_content(); ?>
带有
<?php echo do_shortcode("[products]"); ?>
这应该会让产品出现在您的幻灯片中。