Call to a member function have_posts() on a non-object

I have been trying to show the posts of my website in a grid view in one of the category page. For doing so, i implemented the following code:

<div class="row-fluid">
<div class="span6 featured-block">
<?php while($block1Featured->have_posts()): $block1Featured->the_post(); ?>

<a class="featured_image" href="<?php the_permalink();?> "target="_blank">

 <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) { 

   $image_id = get_post_thumbnail_id(); 

   $image_url = wp_get_attachment_image_src($image_id,'large');

   $image_url = $image_url[0];

   if(!@getimagesize($image_url)){

   $image_url = "/wp-content/uploads/2014/02/logo2.jpg";

   } 

   $blogurl = get_bloginfo('url'); 

   $image_url = str_replace($blogurl, '', $image_url);

  ?>

   <img src="<?php echo bloginfo('template_url'); ?>/thumb.php?src=<?php echo   ($image_url); ?>&amp;w=390&amp;h=216&amp;zc=1&amp;q=100" alt="<?php echo the_title(); ?>" />

 <?php }

 else { ?> 


   <img src="<?php echo bloginfo('template_url'); ?>/thumb.php?src=<?php echo "http://www.nepaljapan.com/wp-content/uploads/2014/02/logo2.jpg"; ?>&amp;w=390&amp;h=216&amp;zc=1&amp;q=100" alt="<?php echo the_title(); ?>" />


 <?php }?>
</a>
<a href="<?php the_permalink();?>" target="_blank">
<h2><?php the_title(); ?></h2></a>
<p><?php echo excerpt(37); ?>
<?php endwhile; ?>
</div>
</div>

But i am facing the problem with this code.
This gives out the error as

Read More

Fatal error: Call to a member function have_posts() on a non-object in /home/npjp/public_html/wp-content/themes/nepaljapan/content-category.php on line 15

The line 15 on my code is

<?php while($block1Featured->have_posts()): $block1Featured->the_post(); ?>

What is the problem? Am i actually doing it correct??
Much confused.
Please help me.

Thank you in advance

Related posts

Leave a Reply

1 comment

  1. Your custom query has some problems. You can use this guid to write custom queries in wordpress:

    <?php
    $block1Featured= new WP_Query( 'category_name=staff+news' );
    
    if ( $block1Featured->have_posts() ) : ?>
        <!-- the loop -->
            <?php while ( $block1Featured->have_posts() ) : $block1Featured->the_post(); ?>
            <h2><?php the_title(); ?></h2>
            <?php endwhile; ?>
        <!-- end of the loop -->
        <!-- pagination here -->
        <?php wp_reset_postdata(); ?>
    <?php else:  ?>
        <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
    <?php endif; ?>