Joe Vrolijk
Joe Vrolijk

Reputation: 19

Wordpress: not displaying all items in custom post type

Dear PHP / Wordpress / Dev Experts,

Ive build a plugin, with a custom post type and some advanced custom fields. The main goal is to list the members in my band, with pictures and name.

You can see it here: http://www.lucky13.nl/test/

I've managed to get everything working to my taste, however.. I have 5 bandmembers in my band which i've added, but i'm only seeing 4. Where is the 5th entry / post? I find that the first added bandmember is not displaying.

I assume this has to do with the loop, and the array not listing all items? But i'll leave this to the experts.. I would appreciate any comments of help!

My code:

<?php
    /*
    Plugin Name: VrolijkWebdesign - Bandmembers
    Description: For a bandwebsite to show bandmembers. 
    */
    /* Start Adding Functions Below this Line */
      

    /* NAME FUNCTION  */  
    function new_section_1(){
      
      $bandmembers = new WP_Query(array(
        'post_type' => 'bandmembers'
      ));
      
      while($bandmembers->have_posts()) : $bandmembers->the_post(); 

      if (has_post_thumbnail( $post->ID ) ):
        $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
    <!-- START HTML  -->

    <div class="span2">
    <figure class="snip1104">
      <img src="<?php echo $image[0] ;?>" alt='sample33'/>
      <figcaption>
        <h5> <?php the_field('firstname'); ?> <span> <?php the_field('lastname'); ?>
         </span></h5>
      </figcaption>
      <a href="#"></a>
    </figure>
    </div>
    <!-- END HTML -->
    <?php endif;
          endwhile;
    } 
     
    add_shortcode('band', 'new_section_1'); 
    ?>

Upvotes: 1

Views: 1324

Answers (1)

Omar Tanti
Omar Tanti

Reputation: 1448

$bandmembers = new WP_Query(array(
    'post_type' => 'bandmembers',
    'posts_per_page' => '5'
  ));

Try setting the posts_per_page argument. Since the default might be set to '4' by other filters.

If you want to get all posts in a single query use '-1' instead of '5'

You could also try the below for debugging purposes only:

-Try to set post_status to 'any' to make sure that post statuses are not a problem.

-Try var_dump($bandmembers) after doing the query to see the fetched posts before the loop starts.

Upvotes: 1

Related Questions