PHP在内容后包含返回值1

时间:2016-06-03 作者:Terrell Anderson

我正在使用一个定制的wordpress循环,它允许我在一定数量的帖子之后以某种方式对帖子进行样式化。例如,前三篇文章的样式将相同,下四篇文章的样式将与前三篇不同,以此类推。它还允许我添加<div> 职位之间的部分。

下面是我用来完成这项任务的php代码。

if (have_posts()) :
    $count = 0; $paged = ( get_query_var(\'paged\') > 1 ) ? get_query_var(\'paged\') : 1;
    while (have_posts()) : the_post();
        $count++;
        if ($count <= 3 && $paged === 1) :
            if ($count === 1) echo \'<div class="break"><h2>Break div | first 3 posts</h2></div>\'; ?>


            <div class="first-three">
                <?php the_title() ?>
            </div>
        <?php elseif (3 < $count && $count <= 7 && $paged === 1) :
            if ($count === 4) echo \'<div class="break"><h2>Break div | next 4 posts</h2></div>\'; ?>


            <div class="next-four">
                <?php the_title() ?>
            </div>
        <?php elseif (7 < $count && $count <= 13 && $paged === 1) :
            if ($count === 8) echo \'<div class="break"><h2>Break div | next 6 posts</h2></div>\'; ?>


            <div class="next-six">
                <?php the_title() ?>
            </div>
        <?php elseif (13 < $count && $count <= 20 && $paged === 1) :
            if ($count === 14) echo \'<div class="break"><h2>Break div | next other 6 posts</h2></div>\'; ?>


            <div class="next-other-six">
                <?php the_title() ?>
            </div>
        <?php else :
            if ($count === 21) echo \'<div class="break"><h2>Break div | last 6 posts</h2></div>\'; ?>

            <div class="last-six">
                <?php the_title() ?>
            </div>
        <?php endif;
    endwhile; ?>
    <div class="nav-previous alignleft"><?php next_posts_link(\'Older posts\'); ?></div>
    <div class="nav-next alignright"><?php previous_posts_link(\'Newer posts\'); ?></div><?php
endif;
我不确定你是否需要所有这些,但我决定把它放在那里以防万一。

这是我遇到的麻烦。

    <?php elseif (3 < $count && $count <= 7 && $paged === 1) :
        if ($count === 4) echo \'<div style="clear:both;"></div> <div class="large-6 columns" style="max-width:566px;  float:left;"> \', include \'thumbnail-break.php\', \'</div> \'; ?>
对于这一部分,我添加了include 函数在帖子之间放置模板路径。它返回路径,但也输出内容后的数字1。

我如何摆脱数字1。

3 个回复
最合适的回答,由SO网友:majick 整理而成

您应该使用而不是include(\'thumbnail-break.php\');:

 get_template_part(\'thumbnail\',\'break\');
这是WordPress从页面模板中包含部分模板文件的标准方式。

SO网友:Ismail

那是因为你想在它回来的时候把它回应出来1 关于成功。

改为执行以下操作:

if ($count === 4) echo \'<div style="clear:both;"></div> <div class="large-6 columns" style="max-width:566px;  float:left;"> \'; include \'thumbnail-break.php\'; echo \'</div> \'; ?>

SO网友:Nebri

根据以下文件php.net 您将发现这一行:

处理返回:失败时包含返回FALSE并引发警告。成功包含,除非被包含的文件覆盖,否则返回1。

尝试切换以下内容:

include \'thumbnail-break.php\', \'</div> \'; ?>
收件人:

include_once \'thumbnail-break.php\', \'</div> \'; ?>
include\\u once只返回一个true语句,我认为它不会呈现在html中。未经测试,但请告诉我进展如何。至少您现在知道为什么会发出1。

相关推荐