0

さまざまなページのページ レイアウトを変更する条件ステートメントをいくつか設定しています。私の最初の条件文は言う

if (is_page('15030')) {
}

その中のコンテンツはホームページ用で、完璧に機能します。それから私の次の人は言います

elseif (is_page('Sales')){
}

そして、それはまったく機能しません。ページ名、ページ ID、elseif を if に変更、in_category を使用してみましたが、何も表示されません。それを引き起こす可能性のあるものを探す必要があるという考えはありますか?投稿のカテゴリとして「販売」を設定していることに気付きました。販売ページを作成すると、販売カテゴリの投稿が自動的に表示されます。まったく影響しますか?

コードは custom_functions.php にあります。完全なコードは次のとおりです。

function custom_template() {
if (is_page('15030')) : ?>
    <!--Technology Section-->
    <div id="content">
        <div id="post-<?php the_ID(); ?>" class="post_box top">
            <a class="scroll" id="technology"></a>
            <div class="left">
                <a href="index.php?page_id=15174"><img src="../../../images/businessbee/blog/tech-bubble.gif" alt="Technology" class="bubble"/></a>
                <h3><a href="index.php?page_id=15174">Technology</a></h3>
                <p>Technology upgrades don't have to break the bank. From improving your hardware to streamlining your IT management, we've compiled cost-effective solutions to cover your needs. </p>
                <hr/>
                <ul class="catCount">
                    <?php
                        $catList = wp_list_categories('title_li=&show_count=1&echo=0&child_of=3527&hide_empty=0');
                        $catList = preg_replace('@\<li([^>]*)>\<a([^>]*)>(.*?)\<\/a>@i', '<li$1><a$2><span class="name">$3</span></a>', $catList);
                        $catList = ereg_replace('</a> \(([0-9]+)\)', ' <span class="count">\\1</span><br class="clear"/></a>', $catList);
                        echo $catList;
                    ?>
                    <br class="clear"/>
                </ul>
                <hr/>
                <a href="index.php?page_id=15174" class="allLink">View all Technology Resources</a>
            </div><!--left-->
            <div class="right">
                <h4>Featured Resources</h4>
                    <?php global $post; ?>
                    <?php if (have_posts()) : ?>
                        <?php query_posts('cat=3527'); ?>
                       <?php while (have_posts()) : the_post(); ?>
                            <?php $categories = get_the_category(); ?>
                            <?php if ( has_post_thumbnail() ) { ?>
                                <a href="<?= the_permalink() ?>" class="box">
                                  <div class="thumbnailBox">
                                    <h3><?= the_title()?>
                                    <span>posted in <?= $categories[0]->cat_name; ?></span>
                                    </h3>
                                    <?php the_post_thumbnail('medium'); ?>
                                    <div class="overlay"></div>
                                    </div>
                                </a>
                            <?php } ?>
                    <?php endwhile; ?>
                    <?php endif; ?>
                    <?php wp_reset_query(); ?>
            </div><!--right-->
            <br class="clear"/>
            <img src="../../../images/businessbee/blog/page-div.png" alt="" class="blog-page-div"/>

            <!--SALES SECTION-->
                <a class="scroll" id="sales"></a>
                <div class="left">
                    <a href="index.php?page_id=15206"><img src="../../../images/businessbee/blog/sales-bubble.gif" alt="Sales" class="bubble"/></a>
                    <h3><a href="index.php?page_id=15206">Sales</a></h3>
                    <p>Every sales team needs a solid method for tracking leads and identifying its top performers. Take a look at these great resources, designed to help maximize your conversion rate.</p>
                    <hr/>
                    <ul class="catCount">
                    <?php
                        $catList = wp_list_categories('title_li=&show_count=1&echo=0&child_of=3536&hide_empty=0');
                        $catList = preg_replace('@\<li([^>]*)>\<a([^>]*)>(.*?)\<\/a>@i', '<li$1><a$2><span class="name">$3</span></a>', $catList);
                        $catList = ereg_replace('</a> \(([0-9]+)\)', ' <span class="count">\\1</span><br class="clear"/></a>', $catList);
                        echo $catList;
                    ?>
                        <br class="clear"/>
                    </ul>
                    <hr/>
                    <a href="index.php?page_id=15206" class="allLink">View all Sales Resources</a>
                </div>
                <div class="right">
                <h4>Featured Resources</h4>
                    <?php global $post; ?>
                    <?php if (have_posts()) : ?>
                        <?php query_posts('cat=3536'); ?>
                       <?php while (have_posts()) : the_post(); ?>
                            <?php $categories = get_the_category(); ?>
                            <?php if ( has_post_thumbnail() ) { ?>
                                <a href="<?= the_permalink() ?>" class="box">
                                  <div class="thumbnailBox">
                                    <h3><?= the_title()?>
                                    <span>posted in <?= $categories[0]->cat_name; ?></span>
                                    </h3>
                                    <?php the_post_thumbnail('medium'); ?>
                                    <div class="overlay"></div>
                                    </div>
                                </a>
                            <?php } ?>
                    <?php endwhile; ?>
                    <?php endif; ?>
                    <?php wp_reset_query(); ?>
            </div><!--right-->
            <br class="clear"/>
            <img src="../../../images/businessbee/blog/page-div.png" alt="" class="blog-page-div"/>

    </div><!-- post id div-->
    </div><!--content-->

<!--End of Homepage Content-->

     elseif (is_page('Sales')){
        <h2>Test Content</h2>
    }

<?php endif; ?>

4

2 に答える 2

0

ifその代わりに、そのelseifようにphpタグでラップする必要があるようです

<?php endif; ?> // this closes the 1st if statement aka the if for is_page('15030').

<?php if ( is_page('Sales') ): ?>
<h2>Test Content</h2>
<?php endif; ?>
于 2013-03-20T04:10:01.750 に答える
0

コーデックスによると:

ループ中に特定のグローバル変数が上書きされるため、 is_page() は機能しません。ループの後に使用するには、ループの後に wp_reset_query() を呼び出す必要があります。

ループ内で使用しているように見えます。

于 2013-03-24T05:12:30.780 に答える