1

我试图让 jigoshop 将所有东西都放在我的主容器中,但它似乎无法正常工作。

我的模板如下:

<?php get_header(); ?>
<div id="productsidebar"><?php get_sidebar('products'); ?></div>
<div id="contentwrap">

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <div class="post" id="post-<?php the_ID(); ?>">
        <div class="entry">
            <?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>

            <?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>

        </div>
    </div>
    <?php endwhile; endif; ?>
</div><!-- #content -->
<?php get_footer(); ?>

根据 Jigoshops 主题(http://forum.jigoshop.com/kb/customize-jigoshop/wrap-your-themes-content-for-jigoshop) ,我在我的函数文件中有这个

function mytheme_open_jigoshop_content_wrappers()
{
echo '<div id="productsidebar"></div><div id="contentwrap">';
}

function mytheme_close_jigoshop_content_wrappers()
{
echo '</div>';
}

function mytheme_prepare_jigoshop_wrappers()
{
remove_action( 'jigoshop_before_main_content', 'jigoshop_output_content_wrapper', 10 );
remove_action( 'jigoshop_after_main_content', 'jigoshop_output_content_wrapper_end', 10);

add_action( 'jigoshop_before_main_content', 'mytheme_open_jigoshop_content_wrappers', 10 );
add_action( 'jigoshop_after_main_content', 'mytheme_close_jigoshop_content_wrappers', 10 );
}
add_action( 'wp_head', 'mytheme_prepare_jigoshop_wrappers' );

当我将侧边栏功能放入功能文件时,这显然是错误的。

谁能建议如何最好地做到这一点?

网站是http://upholstery180degree.co.uk/NewSite/

谢谢

4

1 回答 1

0

分析代码后,您的函数将按照指定将产品页面放入主容器中。

<div id="contentwrap">
    <ul class="products">
    <li class="product first">

尽管看起来您正在为您的商店页面使用不同的模板,这导致它显示您网站的小部件。您的代码工作正常,我会进入您的产品页面并更改它使用的模板类型,并使其与您的其他页面相同。此外,您不需要侧边栏 div 信息,因为它不是主包装器的一部分。

function mytheme_open_jigoshop_content_wrappers()
{
    echo '<div id="contentwrap">';
}

function mytheme_close_jigoshop_content_wrappers()
{
    echo '</div>';
}
于 2013-02-28T10:11:12.310 回答