为什么这个基本的if语句循环?

时间:2017-10-26 01:09:55

标签: php wordpress loops nested-loops

我有一个if / else来调用帖子类型的模板,由于某种原因,我似乎无法弄清楚为什么第一部分陷入了无限循环。

这是主页面循环:

<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

    <?php if ( has_term('bands', 'work_family')):

        get_template_part('content', 'single-bands');


    else:

        get_template_part('content', 'single-work');

    endif;  ?>

<?php endwhile; endif; ?>

我很确定问题出在加载的single-bands模板中,因为如果我注释掉该行并在其中粘贴一些文本,它就会正常工作。这是模板:

<header class="fl-post-header">
    <h1 class="fl-post-title" itemprop="headline">
        <?php
        // strip "Songs by" from titles for archive page
            $title = get_the_title();
            $prefix = 'Songs by ';
            $stripper = $title;

            if (substr($stripper, 0, strlen($prefix)) == $prefix) {
                    $stripper = substr($stripper, strlen($prefix));
            }
            ?>
            <?php echo $stripper; ?>
            <?php edit_post_link( _x( 'Edit', 'Edit post link text.', 'fl-automator' ) ); ?>
            TEMPLATE LOADED CORRECTLY IF YOU SEE THIS
        </h1>
    </header><!-- .fl-post-header -->
    <div class="fl-content <?php FLTheme::content_class(); ?>">
        <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
            <article <?php post_class( 'work-post' ); ?> id="fl-post-<?php the_ID(); ?>" itemscope="itemscope">

            <?php the_content(); ?>
            <?php get_template_part('content', 'band-performances') ?>
        <?php endwhile; endif; ?>
    </div>

当我直接加载模板而不是从另一页的外部循环加载模板时,页面上没有任何其他循环相关并且所有html工作正常。我相对肯定问题出现在标题中,因为模板的其余部分没有得到循环,只是那样。

0 个答案:

没有答案