Title: custom post array issues
Last modified: November 14, 2023

---

# custom post array issues

 *  Resolved [greencrest](https://wordpress.org/support/users/greencrest/)
 * (@greencrest)
 * [2 years, 6 months ago](https://wordpress.org/support/topic/custom-post-array-issues/)
 * I’m trying to update a custom post array for wordpress and running into errors.
   I’m a novice with PHP so apologize if this is a simple fix. Here’s the original
   code:
 *     ```wp-block-code
       <?php 
       					$homespecials = get_posts('post_type=button-ads&posts_per_page=3');
       					foreach($homespecials as $homespecial){
       						//print_r($homespecial);
       						$image = wp_get_attachment_image_src( get_post_thumbnail_id( $homespecial->ID ), 'full');
       						$link = get_field('link', $homespecial->ID);
       						$count++;
       						if($count==1){
       							$style="width: 32%; padding-right: 1%;";
       						} elseif($count==2){
       							$style="padding:0 0.5%; width:32%;";
       						} elseif($count==3){
       							$style="width: 32%; padding-left: 1%;";
       						}
       						?>
       <a href="<?php echo $link; ?>"><img class="size-full alignleft" alt="<?php echo $homespecial->post_name; ?>" src="<?php echo $image[0]; ?>" width="415" height="204" /></a>
       					<?php } ?>
       ```
   
 * And here’s what’s in the functions.php file:
 *     ```wp-block-code
       unction create_posttype() {
   
           register_post_type( 'button-ads',
           // CPT Options
               array(
                   'labels' => array(
                       'name' => __( 'Button Ads' ),
                       'singular_name' => __( 'Button Ad' )
                   ),
                   'public' => true,
                   'has_archive' => true,
                   'rewrite' => array('slug' => 'button-ads'),
                   'show_in_rest' => true,
         'supports'=>array('title', 'thumbnail')
               )
           );
       }
       // Hooking up our function to theme setup
       add_action( 'init', 'create_posttype' );
       ```
   
 * When the top code is in the sidebar, I’m getting errors. I was able to grab a
   post array script from another site component that worked and modified it as 
   such:
 *     ```wp-block-code
       <?php $homespecials = get_posts('post_type=button-ads&numberposts=3');
       foreach ($homespecials as $homespecial) :
       setup_postdata($homespecial);
           $image = wp_get_attachment_image_src( get_post_thumbnail_id( $homespecial->ID ), 'full');
       						$link = get_field('link', $homespecial->ID);
           ?>
   
   
       <li><a href="<?php echo $link; ?>"><img class="size-full alignleft" alt="<?php echo $homespecial->post_name; ?>" src="<?php echo $image[0]; ?>" width="415" height="204" /></a><a href="<?php echo $link; ?>"><img class="size-full alignleft" alt="" src="<?php echo $image[0]; ?>" width="415" height="204" /></a>
       </li>
       <?php endforeach; ?>
       ```
   
 * However, the thumbnail image from the array isn’t populating. Any idea where 
   my problem is? I’m wanting to display the featured image for the post and there’s
   a custom field to include the hyperlink

Viewing 2 replies - 1 through 2 (of 2 total)

 *  [Alexander](https://wordpress.org/support/users/alextonio22/)
 * (@alextonio22)
 * [2 years, 6 months ago](https://wordpress.org/support/topic/custom-post-array-issues/#post-17203365)
 * Hi Greencrest,
 * I understand your concern. It seems like you’re encountering some issues with
   updating a custom post array in WordPress. After reviewing your code, I’ve identified
   a few potential issues and made some corrections.
 * **Change from `get_posts` to `new WP_Query`**
    1. Instead of using `get_posts`, I recommend using `WP_Query` which is more versatile
       and gives you better control over your query.Replace:`$homespecials = get_posts('
       post_type=button-ads&numberposts=3'); `with:`$homespecials = new WP_Query(array('
       post_type' => 'button-ads', 'posts_per_page' => 3, ));`
 * Here’s the corrected code:
 * `<?php $homespecials = new WP_Query(array( 'post_type' => 'button-ads', 'posts_per_page'
   => 3, )); foreach ($homespecials->posts as $homespecial) : $image = wp_get_attachment_image_src(
   get_post_thumbnail_id($homespecial->ID), 'full'); $link = get_field('link', $
   homespecial->ID); ?> <li> <a href="<?php echo esc_url($link); ?>"> <img class
   ="size-full alignleft" alt="<?php echo esc_attr($homespecial->post_name); ?>"
   src="<?php echo esc_url($image[0]); ?>" width="415" height="204" /> </a> </li
   > <?php endforeach; ?>`
 * Please test this modified code and let me know if it resolves the issues you 
   were facing. If you have any further questions or encounter additional problems,
   feel free to ask for more assistance.
 * Kind Regards,
 * Alexander
    -  This reply was modified 2 years, 6 months ago by [Alexander](https://wordpress.org/support/users/alextonio22/).
 *  Thread Starter [greencrest](https://wordpress.org/support/users/greencrest/)
 * (@greencrest)
 * [2 years, 6 months ago](https://wordpress.org/support/topic/custom-post-array-issues/#post-17204494)
 * It worked perfectly! Thank you so much!

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘custom post array issues’ is closed to new replies.

## Tags

 * [array](https://wordpress.org/support/topic-tag/array/)
 * [custom posts](https://wordpress.org/support/topic-tag/custom-posts/)

 * In: [Developing with WordPress](https://wordpress.org/support/forum/wp-advanced/)
 * 2 replies
 * 2 participants
 * Last reply from: [greencrest](https://wordpress.org/support/users/greencrest/)
 * Last activity: [2 years, 6 months ago](https://wordpress.org/support/topic/custom-post-array-issues/#post-17204494)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
