通过Wordpress循环通过ID循环CPT

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Wordpress循环通过ID循环CPT相关的知识,希望对你有一定的参考价值。

我试图使用WP循环仅循环自定义帖子类型,但只显示我通过ID给出的那些。

这是我现在的“正常”循环:

<?php $args = array(

    'post_type' => 'referenties', 'posts_per_page' => 5, 'order' => 'DESC',

  ); ?>


<?php 
    $number = 0; 
    query_posts($args); 
    if(have_posts()):  
    ?>




<!-- /Carousel script -->
<div class="container">
    <div class="carousel-loop">
        <div id="myCarousel" class="carousel slide">
  <ol class="carousel-indicators">
    <?php while(have_posts()): the_post(); ?>
    <li data-target="#myCarousel" data-slide-to="<?php echo $number++; ?>"></li>
    <?php endwhile; ?>
  </ol>
    <div class="controle-buttons">
      <a class="carousel-control left" href="#myCarousel" data-slide="prev"><i class="fa fa-chevron-circle-left"></i></a>
      <a class="carousel-control right" href="#myCarousel" data-slide="next"><i class="fa fa-chevron-circle-right"></i></a>
  </div>
  <!-- Carousel items -->
  <div class="carousel-inner">
    <?php while(have_posts()): the_post(); ?>
          <!-- Carousel nav -->

    <div class="item">
        <div class="col-sm-2">
        <?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
            <?php the_post_thumbnail(array(150,150)); // Declare pixel size you need inside the array ?>
        </div>
        <div class="col-sm-4">
                    <h4><?php the_title(); ?></h4>
                        <?php $bedrijf = get_field('naam_bedrijf'); ?>
                        <?php $feest = get_field('feest'); ?>
                        <?php $link = get_field('mylink'); ?>
                        <?php echo '<p>Bedrijfsnaam: ' . $bedrijf . '</p>'; ?>
                        <?php $post_object = get_field('mylink');
                            if( $post_object ): $post = $post_object; setup_postdata( $post ); ?>
                                <p>Feest type: <a style="color:#ff6600" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
                            <?php endif; ?>
        </div><?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
        <div class="col-sm-4 col-sm-offset-1">
        <h4>Opmerking</h4>
            <p><?php echo custom_field_excerpt_longer(); ?></p>
                <?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
                <?php echo '<p>' . wp_review_show_total() . '</p>'; ?>
        </div>
        <?php endif; ?>
    </div>
    <?php endwhile; ?>

但我只想显示帖子ID:2706,2462,2514,2511和2505。

循环显示在旋转木马中,这很好。但我只想显示ID,而不是添加所有帖子。

答案

使用这样的东西:

<?php 

    $args = array(
        'post_type' => 'referenties',
        'post__in'  => array(2706, 2462, 2514, 2511, 2505),
        'order'     => 'DESC',
    ); 

    $the_query = new WP_Query($args);

    // The Loop
    if ( $the_query->have_posts() ) {
        while ( $the_query->have_posts() ) {
            $the_query->the_post();

            //post content output goes here

        }
        // Restore original Post Data
        wp_reset_postdata();
    } else {
        // no posts found
    }

post__in ()参数使用具有所需post id的数组来检索。

不要使用query_posts进行自定义查询。太多可能出错了。

希望这可以帮助 :)

以上是关于通过Wordpress循环通过ID循环CPT的主要内容,如果未能解决你的问题,请参考以下文章

Foreach 循环遍历 cpt 类别以使用 ACF 值

text 循环 - 元查询mit cpt

php CPT循环按分类过滤

php cpt同位素循环 - 将术语附加为过滤类

WordPress 在循环外获取页面 ID

我想通过一个for循环来得到不同的ID,该怎么写JS代码呢?分数不多,谢了!