目前使用Wordpress插件[事件发布类型],当我发布帖子时,这些帖子目前正在排序。我真的需要按事件日期排序,插件会为我添加帖子类型。
我目前正在使用此代码,但我不确定如何订购:
<div id="events-teaser"><?php
$args = array( 'post_type' => 'event', 'posts_per_page' => 10, 'orderby' => '_date_start', 'order' => 'DESC' );
$loop = new WP_Query( $args );
if ( have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();?>
<div class="teaser-event <?php echo do_shortcode('[xydac_field]promo[/xydac_field]'); ?>">
<div class="event-meta gold">
<div class="event-date"><?php echo get_post_meta($post->ID, "_date_start", true); ?></div>
<div class="event-time"><?php echo get_post_meta($post->ID, "_time_start", true); ?></div></div>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><div class="event-title"><?php the_title(); ?></a></div></div><?php
endwhile; else:
?><p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
</div>
答案 0 :(得分:0)
在循环开始之前,在您的一个模板文件中调用query_posts()。 wp_query对象将使用您的参数生成新的SQL查询。执行此操作时,WordPress会忽略通过URL接收的其他参数(例如页码或类别)。如果要保留该信息,可以在query_posts()调用中使用$ query_string全局变量。
例如,要设置帖子的显示顺序而不影响查询字符串的其余部分,可以在The Loop之前放置以下内容:
global $query_string;
query_posts( $query_string . '&order=ASC' );
将其订单从“ASC”更改为您想要的任何内容。