Woocommerce的购物车页面被Wordpress中的Page.php页面覆盖

时间:2014-09-29 21:12:32

标签: wordpress woocommerce

我有一点问题。我的page.php似乎压倒了WooCommerce的购物车页面。该页面已经创建(由WooCommerce生成,短代码完整)名为Cart。

我知道我的page.php正在覆盖它,但我不知道如何阻止它。这是我的page.php页面的代码:

<?php 
get_header();

if ( have_posts() ) {

    //Work with us page
    $workwithuspage = "work with us";
    $pitch = "pitch an idea";
    $cart = "cart";

    if($workwithuspage == strtolower(get_the_title()))
    {
        //Page stuff here!
        $image = wpse_get_images();
        ?>
        </div>
        <div class="hero">
            <div class="container heroImage" style="background-image:url('<?php echo $image->guid;?>');">
                <div class="col-md-7"></div>
                <div class="col-md-5">
                    <div class="pageText">
                        Work with Us
                    </div>
                    <div class="subText">
                        <?php echo $image->post_content; ?>
                    </div>
                </div>
            </div>
        </div>
        <div class="bodyBg">
            <div class="container">
                <div class="col-md-6">
                    <div class="box-style">
                        <div class="box-header">
                            Got a comic idea and want it published?
                        </div>
                        <div class="box-text">
                            Tell us your desires, so we can slap it on a comic book and sell it for millions. Ya dig?
                        </div>
                        <div class="box-button-container">
                            <?php
                                $pitch = get_page_by_title('pitch an idea');
                            ?>
                            <a href="<?php echo get_permalink($pitch); ?>"><div class="button large">Pitch an Idea</div></a>
                        </div>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="box-style">
                        <div class="box-header">
                            Want to work on one of our great titles?
                        </div>
                        <div class="box-text">
                            Tell us your desires, so we can slap it on a comic book and sell it for millions. Ya dig?
                        </div>
                        <div class="box-button-container">
                            <div class="button large">Find Jobs</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div id="ourstandards">
            <div class="coloroverlay">
                <div class="container">
                    <div class="col-md-6">
                        <div class="pageHeaderText">
                            Our Standards
                        </div>
                        <div class="bodyTxt">
                            <p>
                                At On Target Network, we strive to promote consistency, 
                                communication and passion in all areas of work and we expect the same of our artists. 
                            </p>
                            <p>
                                We understand the nature of creators and seek to raise ourselves to higher and higher standards. To do that, we vet and 
                                review series pitches with a carefully selected panel of writers and artists.
                            </p>
                            <br /><br />
                            <p>
                                Got questions? We'll be happy to help.
                            </p>
                            <div id="sendUsQ" class="secondaryBtn">
                                Send us your questions
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6"></div>
                </div>
            </div>
        </div>
        <div class="container">
        <?php
    }
    else if($pitch == strtolower(get_the_title()))
    {
        ?>
        </div>
        <div  id="pitchImg" class="hero">
            <div class="container">
                <div class="col-md-7"></div>
                <div class="col-md-5">
                    <div class="pageText">
                        Pitch an Idea
                    </div>
                    <div class="subText">
                        <?php echo $image->post_content; ?>
                    </div>
                </div>
            </div>
        </div>
        <div class="bodyBg">
            <div class="container">
                <div class="col-md-12">
                    <div class="pageHeaderText dark">
                        Start your pitch here
                    </div>
                </div>
                <div class="col-md-9">
                    <?php
                        if ( isset($si_contact_form) )  {
                            echo $si_contact_form->si_contact_form_short_code( array( 'form' => '1' ) );
                        }
                    ?>
                </div>
            </div>
        </div>
        <?php
    }
}
get_footer();
?>

对于我想要自定义的页面,我有条件ifs但我担心这样做会覆盖(以某种方式)购物车页面。

1 个答案:

答案 0 :(得分:1)

WooCommerce使用短代码添加购物车;短代码显示为页面内容的一部分。 WP使用the_content()函数显示特定页面或帖子的内容。您已从网页模板中删除the_content(),因此购物车无法显示。

查看您的网页模板,您已删除the_content()并将所有内容直接内嵌到模板中,而不是从数据库中提取。这通常是一个WP站点的非典型,但我知道有时一个站点开始静态,你只是想把它变成&#39; WP。

您还使用一堆条件来显示不同的内容块,这违背了使用模板的想法。我的建议是为您的&#39;音高创建单独的页面模板。并且&#39;与我们合作&#39;页面,并使page.php只是具有the_content()的默认页面模板。这样您就可以使用通用模板,可以用于任何页面,包括购物车页面。

检查the codex以获取有关创建自定义页面模板的更多信息,但简而言之,您可以在文件顶部添加注释:

<?php
/*
Template Name: My Custom Page
*/

然后将文件保存在主题文件夹中。通常的做法是将其命名为page-pitch.php,以便您轻松识别它。然后在管理区域中,只需从下拉菜单中选择模板即可将模板分配到您想要的任何页面。

将您的不同内容拆分为单独的模板有几个好处;即您不再需要使用条件来检查页面标题(从安装到安装可能有所不同),并使您更容易调试。