php - Multiple Loops in WordPress. Second loop not resetting -


i've created custom post type custom fields inside wordpress. created new page template runs through loop , works great. i'm trying add similar loop home page's sidebar doesn't work correctly.

first, working code on own page template.

<h2>upcoming events</h2> <?php $todaysdate = date('y/m/d'); $event_query = new wp_query('post_type=events&posts_per_page=-1&post_status=publish&meta_key=event_date&meta_compare=>=&meta_value=' . $todaysdate . '&orderby=meta_value&order=asc'); ?>   <ul id="featured_event_list"> <?php if ($event_query->have_posts()): ?> <?php while ($event_query->have_posts()) : $event_query->the_post(); ?> <li>     <h3><?php the_title(); ?></h3>     <p>     <?php if ( get_post_meta($post->id, 'event_featuring', true) ) : ?>         <strong>featuring:</strong> <?php echo get_post_meta($post->id, 'event_featuring', true) ?><br />     <?php endif; ?>     <?php if ( get_post_meta($post->id, 'event_date', true) ) : ?>         <?php $event_date = get_post_meta($post->id, 'event_date', true);         $new_event_date = date("f j, y",strtotime($event_date)); ?>         <strong>date:</strong> <?php echo $new_event_date ?>         <?php endif; ?>         <?php if ( get_post_meta($post->id, 'event_end_date', true) ) : ?>         <?php $event_end_date = get_post_meta($post->id, 'event_end_date', true);         $new_event_end_date = date("f j, y",strtotime($event_end_date)); ?>         - <?php echo $new_event_end_date ?>     <?php endif; ?>         <br />     <?php if ( get_post_meta($post->id, 'event_time', true) ) : ?>         <strong>time:</strong> <?php echo get_post_meta($post->id, 'event_time', true) ?><br />     <?php endif; ?>     <?php if ( get_post_meta($post->id, 'event_location', true) ) : ?>         <strong>location:</strong> <?php echo get_post_meta($post->id, 'event_location', true) ?>     <?php endif; ?>     </p>     <p><?php the_excerpt(); ?></p> </li> <?php endwhile; ?> <?php else: ?> <li>sorry, no upcoming events.</li> <?php endif; ?> </ul> 

that works fine, when put modified version of code widget inside of functions.php, doesn't work:

<?php function eventswidget() { ?>     <div class="uwf_widget">         <h3 class="events"><span>featured events</span></h3>         <ul> <?php         $todaysdate = date('y/m/d');         $event_widget_query = new wp_query('post_type=events&posts_per_page=2&post_status=publish&meta_key=event_date&meta_compare=>=&meta_value=' . $todaysdate . '&orderby=meta_value&order=asc'); ?>          <?php if ($event_widget_query->have_posts()) :?>         <?php while ($event_widget_query->have_posts()) : $event_widget_query->the_post(); ?>             <?php $event_date = get_post_meta($post->id, 'event_date', true);             $new_event_date = date("f j",strtotime($event_date)); ?>             <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?> - <?php echo $new_event_date; ?> &nbsp;&raquo;</a></li>         <?php endwhile; else: ?>             <li>sorry, no upcoming events.</li>         <?php endif; ?>         </ul>             <p class="more"><a href="/about-us/events/">more events &raquo;</a></p>         </div> <?php } ?> 

now, if put code inside normal sidebar (instead of on homepage) - works fine. so, there wrong multiple loops on home page , sidebar. if simplify widget grabs 2 "events" grab 2 posts (regardless of post_type). i've tried rewind_posts , wp_reset_query, i'm not sure else try?

i have same problem , caused wp_hook 'pre_get_posts'

<?php function custom_get_posts( $query ) { if ( !is_admin() && false == $query->query_vars['suppress_filters'] )     $query->set( 'post_type', array('post', 'events', 'pages') );      return $query; } add_filter( 'pre_get_posts', 'custom_get_posts' ); ?> 

to solve problem can remove filter before wp_query , add again after query.

<?php  remove_filter( 'pre_get_posts', 'custom_get_posts' );  /*  * new wp_query  */  add_filter( 'pre_get_posts', 'custom_get_posts' );  ?> 

Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -