带有粘滞帖子和分页的索引页上的多个循环

时间:2012-04-15 作者:Keat

此网站上的第一篇帖子。希望能得到你们的帮助。对于各位专家来说,这可能是一个简单的答案。

我有两个类别(新闻和工作)。我想在我的索引页(wordpress开始页/博客)上显示最新的五条新闻(分类新闻)。下面我想显示我的帖子(cat新闻和工作)。我在工作猫上也有贴子,我只想在第一页上看到。

我想这意味着三个循环。一个用于新闻,一个用于工作中的棘手问题&;新闻,然后是工作和;新闻,没有粘性。我可以做到这一点,但问题是,当我在索引文件上分页时,我的粘性帖子首先显示在所有页面上(例如,按read prev post、/page/2、/page/3等)。。

如何使粘性帖子仅在第一页(index.php)上具有粘性?

这是我的代码:

<div id="news">

<?php $wp_query = new WP_Query(array(\'category_name\' => News, \'posts_per_page\' => 5)); ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    <?php get_template_part( \'loop\', \'index\' ); ?>

<?php endwhile; ?>

<?php wp_reset_postdata(); ?>

</div><!--#news-->



<div id="work">

<!-- Sticky -->

<?php if ( $paged != True ): ?>

<?php $wp_query = new WP_Query(array(\'post__in\' => get_option(\'sticky_posts\'), \'category_name\' => Work)); ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    <?php get_template_part( \'loop\', \'index\' ); ?>

<?php endwhile; ?>

<?php wp_reset_postdata(); ?>

<?php endif ?>





<!-- Non Sticky -->

<?php $wp_query = new WP_Query(array(\'post__not_in\' => get_option(\'sticky_posts\'), \'category_name\' => Work, \'posts_per_page\' => 8, \'paged\' => $paged)); ?>

<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

        <?php get_template_part( \'loop\', \'index\' ); ?>

    <?php endwhile; ?>

<?php wp_reset_postdata(); ?>

</div><!--#work-->
谢谢/K

我的分页代码:

function pagination() {  
 global $wp_query;
 $total = $wp_query->max_num_pages;
 // Only paginate if we have more than one page
 if ( $total > 1 )  {
     // Get the current page
     if ( !$current_page = get_query_var(\'paged\') )
          $current_page = 1;
     // Structure of “format” depends on whether we’re using pretty permalinks
    $permalinks = get_option(\'permalink_structure\');
    $format = empty( $permalinks ) ? \'&page=%#%\' : \'page/%#%/\';
    echo paginate_links(array(
          \'base\' => get_pagenum_link(1) . \'%_%\',
          \'format\' => $format,
          \'current\' => $current_page,
          \'total\' => $total,
          \'mid_size\' => 2,
          \'prev_next\' => False
    ));
}
}

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

在分页的地方,可以使用if( $page != 1 ). 这允许您仅在第一页上输出某些部分。你需要改变$page 到分页变量,但这并不重要。

结束

相关推荐

Contact form 7 post loop

我使用的是联系方式7。它说使用以下[contact-form-7 id=\"23\" title=\"Contact form 1\"] 在我的帖子或页面中,我已将其放置在我的帖子中。现在,我正在使用此代码抓取帖子并将其吐到我的自定义页面上。php文件。然而,它只是吐出页面的标题和日期,而内容“发布”没有任何形式可见。还有,将联系人表单放在页面上并能够使用css等联系人表单7进行移动的最佳方式是什么。 <!-- Start the Loop. --> <?php if