下面是我加载自定义帖子类型(show)的代码,出于某种原因,无论我在$args
内更改了什么都没有随订单发生变化。
我想按日期顺序显示节目。
自定义字段test_date
的格式为20140907
任何能够解决问题的人?
<?php
$args = array(
'post_type' => 'show',
'meta_key' => 'test_Date',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'posts_per_page' => '-1'
);
query_posts($args);
if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php
$limit = 140;
$display_from_date = get_post_meta( get_the_ID(), 'display_from_date', true );
$display_to_date = get_post_meta( get_the_ID(), 'display_to_date', true );
$book_online_link = get_post_meta( get_the_ID(), 'book_online_link', true );
$show_description = get_post_meta( get_the_ID(), 'show_description', true );
$date_formatted = get_post_meta( get_the_ID(), 'date_formatted', true );
$show_content = get_the_content();
$read_more = get_the_permalink();
?>
<div class="showbox">
<div class="showthumb">
<?php the_post_thumbnail('medium'); ?>
</div>
<div class="showdetails">
<div class="showtitle"><?php the_title();?></div>
<div class="showdate">
<strong><?php echo $date_formatted; ?></strong>
</div>
<div class="clear"></div>
<div class="showdescription">
<br />
<?php
if (empty($show_description)){
echo '<em>No description available</em>';
} else {
if (strlen($show_description) > $limit)
$show_description = substr($show_description, 0, strrpos(substr($show_description, 0, $limit), ' ')) . '... <a href="'. $read_more .'" style="font-size:10px; font-style: italic;">Read More</small>';
echo $show_description;
}
?>
</div>
<div class="clear"></div>
<div class="showbuttons">
<a href="<?php the_permalink(); ?>" class="moreinformation">More Information <IMG class='small_arrow_1_right' src='<?php bloginfo('template_url');?>/images/small_arrow_1_right.gif' alt='Next'> </a>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<?php endwhile; endif; wp_reset_query(); ?>
答案 0 :(得分:0)
没关系,我已经设法用SQL做了另一种方式,这是完美的工作!
供参考:
<?php
$querydetails = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'test_date'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'show'
ORDER BY wpostmeta.meta_value ASC
";
$pageposts = $wpdb->get_results($querydetails, OBJECT)
?>
<?php if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
$limit = 140;
$display_from_date = get_post_meta( get_the_ID(), 'display_from_date', true );
$display_to_date = get_post_meta( get_the_ID(), 'display_to_date', true );
$book_online_link = get_post_meta( get_the_ID(), 'book_online_link', true );
$show_description = get_post_meta( get_the_ID(), 'show_description', true );
$date_formatted = get_post_meta( get_the_ID(), 'date_formatted', true );
$show_content = get_the_content();
$read_more = get_the_permalink();
?>
<div class="showbox">
<div class="showthumb">
<?php the_post_thumbnail('medium'); ?>
</div>
<div class="showdetails">
<div class="showtitle"><?php the_title();?></div>
<div class="showdate">
<strong><?php echo $date_formatted; ?></strong>
</div>
<div class="clear"></div>
<div class="showdescription">
<br />
<?php
if (empty($show_description)){
echo '<em>No description available</em>';
} else {
if (strlen($show_description) > $limit)
$show_description = substr($show_description, 0, strrpos(substr($show_description, 0, $limit), ' ')) . '... <a href="'. $read_more .'" style="font-size:10px; font-style: italic;">Read More</small>';
echo $show_description;
}
?>
</div>
<div class="clear"></div>
<div class="showbuttons">
<a href="<?php the_permalink(); ?>" class="moreinformation">More Information <IMG class='small_arrow_1_right' src='<?php bloginfo('template_url');?>/images/small_arrow_1_right.gif' alt='Next'> </a>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
<?php endforeach;
endif; ?>