自定义帖子类型分页重复帖子(&R)

时间:2012-10-19 作者:Eamon

我正在制作一个模板,该模板将使用一些自定义的帖子类型&;自定义分类法。。我在分页和重复帖子方面有问题。

HOME.PHP

循环#1在主页(home.php)上,我有2个循环。第一个显示了1个帖子(自定义帖子类型:Projects),其中指定了自定义分类法“特色”。

循环#2在第二个循环中,我有六个最新的“项目”(自定义帖子类型),但我不想重复第一个循环。在这六个帖子下面我要分页

两个回路都在主回路中。php工作。。但我仍然有那个副本,我无法进行分页。。

PasteBin

<到家了。php:http://pastebin.com/6ac2asue

功能。php:http://pastebin.com/1SK206Bh

<?php $do_not_duplicate = array();
$folio_loop = new WP_Query( array
    (
        \'featured\' => \'featured-post\',
        \'post_type\' => \'projects\',
        \'posts_per_page\' => \'1\',
        )
    );

     while ( $folio_loop->have_posts() ) : $folio_loop->the_post();
    $do_not_duplicate[] = $post->ID; ?>

    <div id="featured" style="position: relative;">


        <div class="featured-overlay" style="position: absolute; right: 20px; bottom: 20px; width: 165px; height: 165px; text-align: center;">
            <div class="project-meta-featured">
          <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
        <span>
        <?php
            global $post;
            $text = get_post_meta( $post->ID, \'_cmb_project_meta\', true );
            echo $text;
        ?>
        </span>
        <br />
        <?php
            global $post;
            $text = get_post_meta( $post->ID, \'_cmb_client_meta\', true );
            echo $text;
        ?>


        </a>
          </div>
        </div>

        <?php if ( has_post_thumbnail()) : ?>
            <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
                <?php the_post_thumbnail(\'featured\'); ?>
            </a>
        <?php endif; ?>



    </div>

<?php endwhile; ?>

1 个回复
SO网友:Mridul Aggarwal

我认为实现这一点的最佳方法是pre_get_posts 钩看看这个代码

function customize_query( $query ) {
    $post = get_posts(array(
         \'post_type\' => \'projects\',
         \'taxonomy\' => \'featured\',
         \'numberposts\' => 1
    ));
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( \'post_type\', \'projects\' );
        $query->set( \'posts_per_page\', 6 );
        if($post && !empty($post))
            $query->set( \'post__not_in\', array($post[0]->ID) );
    }
}
add_action( \'pre_get_posts\', \'customize_query\' );
然后在你的主页上

$post = get_posts(array(
     \'post_type\' => \'projects\',
     \'taxonomy\' => \'featured\',
     \'numberposts\' => 1
));
// display the post just retrieved, it must be coming from cache

// we can use the global query since now it contains the 6 posts we want
while(have_posts()) :
    the_post();
    // display the post
endwhile;
您需要对其进行大量修改,但这可能会帮助您实现您想要的。在这里,分页应该正常工作,因为您刚刚修改了主页查询

结束

相关推荐

Pagination for sub-pages

我有一个顶级页面,有很多子页面当用户访问顶级页面时,他们当前会看到标题/缩略图/摘录all 子页面的如何分页子页面的显示,以便only 每次显示3,使用户可以通过典型的“上一页1、2、3、4、5下一页>”分页菜单进行导航?任何帮助都将不胜感激。谢谢