I have a website with a few custom post types. I have also installed Types plugin so I can use a custom field to upload/display images on the home page of the website. I've found that the code seems to have an issue with the custom post type.

If I add the code below the custom post type, the image doesn't appear. If I put the code above it, it appears. I have also tried removing the code and it will appear.

   <?php $pic_of_week = rg_get_social_pic_of_the_week(); 
                    $url = get_post_meta($pic_of_week['id'], 'social_pic_facebook_url', true);

        <a id="social_image" href="<?php echo $url;?>" target="_blank">
            <div id="social_ofweek">
                <?php echo wp_get_attachment_image($pic_of_week['thumbnail'],'social-pic-of-the-week-thumbnail'); ?>
            <img id="social_overlay" src="<?php bloginfo(stylesheet_directory); ?>/basemedia/images/socialpic2.png" alt="The Royal George Logo" /> 


    <?php echo(types_render_field("image_1", array("alt"=>"Product image",
  "width"=>"209","height"=>"298","proportional"=>"true"))); ?>

The code for the types plugin is -

<?php echo(types_render_field("image_1", array("alt"=>"Product image",
  "width"=>"209","height"=>"298","proportional"=>"true"))); ?>

The code that seems to be causing the issue is -

pic_of_week = rg_get_social_pic_of_the_week(); 
$url = get_post_meta($pic_of_week['id'], 'social_pic_facebook_url', true);

Can anyone tell me what the problem is?

Code for rg_get_social_pic_of_the_week() -

 if(!function_exists('rg_get_social_pic_of_the_week')) {
    function rg_get_social_pic_of_the_week() {
        global $wp_query;

        $args = array(
            'meta_key' => 'pic_of_the_week',
            'meta_value' => '1',
            'post_type' => 'social-pic'
        $loop = new WP_Query($args);

        $social_pics_array = array();
        while($loop->have_posts()) {

            $social_pics_array[] = array(
                'content' => get_the_content(),
                'excerpt' => get_the_excerpt(),
                'id' => get_the_ID(),
                'thumbnail' => get_post_thumbnail_id(get_the_ID()),
                'title' => get_the_title()

        if(count($social_pics_array)) {
            return $social_pics_array[0];

        return $social_pics_array;
  • what does the rg_get_social_pic_of_the_week() function contain? search your theme or plugins for that function to see what it does.
    – Milo
    Aug 1 '12 at 0:07
  • Should I post the code for that function? Aug 1 '12 at 1:24
  • I've added the code for the rg_get_social_pic_of_the_week() Aug 1 '12 at 1:39
  • How about a link to the plugin?
    – kaiser
    Aug 1 '12 at 1:54
  • plugin link wordpress.org/extend/plugins/types Aug 1 '12 at 1:57

You have to call wp_reset_postdata() after rg_get_social_pic_of_the_week(). it runs its own query which is polluting the global $post variable that other functions rely on.

  • Does that go on the home page or on the functions file? Aug 1 '12 at 2:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.