sort posts by custom field date
-
Hi All,
I hope someone can help. I’ve got the following code in my index.php file to sort the posts by date d/m/y then title.
<?php $posts = query_posts( $query_string . 'meta_key=Day&meta_key=Month&meta_key=Year&order=asc' ); ?> <?php if( $posts ) : ?> <?php foreach( $posts as $post ) : setup_postdata( $post ); ?> <!-- listings_wrapper --> <div id="listings_wrapper"> <!-- listings_content --> <div id="listings_content"> <h1><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h1> <p><?php $key="Venue"; echo get_post_meta($post->ID, $key, true); ?></p> <p><span><?php $key="Date"; echo get_post_meta($post->ID, $key, true); ?></span></p> <p><a href="<?php the_permalink() ?>">more info</a></p> </div> <!-- /listings_wrapper_content --> <!-- listings_thumbnail --> <div id="listings_thumbnail"> <?php the_post_thumbnail( 'listings-post-thumbnail' ); ?> </div> <!-- /listings_wrapper_thumbnail --> </div> <!-- /listings_wrapper --> <?php endforeach; ?> <?php else: ?> <p><?php _e('Sorry, no events matched your criteria.'); ?></p> <?php endif; ?>
This works well. I’d also like this to work on my archive.php file to replace:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <!-- listings_wrapper --> <div id="listings_wrapper"> <!-- listings_content --> <div id="listings_content"> <h1><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h1> <p><?php $key="Venue"; echo get_post_meta($post->ID, $key, true); ?></p> <p><span><?php $key="Date"; echo get_post_meta($post->ID, $key, true); ?></span></p> <p><a href="<?php the_permalink() ?>">more info</a></p> </div> <!-- /listings_wrapper_content --> <!-- listings_thumbnail --> <div id="listings_thumbnail"> <?php the_post_thumbnail( 'listings-post-thumbnail' ); ?> </div> <!-- /listings_wrapper_thumbnail --> </div> <!-- /listings_wrapper --> <?php endwhile; else: ?> <p><?php _e('Sorry, no events matched your criteria.'); ?></p> <?php endif; ?>
However, when i do that and search by category, it just returns nothing. As soon as I put the code back, it works but not displaying any order, it just shows the posts.
The category list is generated from:
<?php wp_list_categories( 'hide_empty=0&order=ASC&title_li&exclude=3,8' ); ?>
What am I doing wrong?TIA
Viewing 2 replies - 1 through 2 (of 2 total)
Viewing 2 replies - 1 through 2 (of 2 total)
- The topic ‘sort posts by custom field date’ is closed to new replies.