如何按自定义字段(价格)排序

时间:2015-10-16 15:24:47

标签: php wordpress custom-post-type

有人可以帮我解决这个问题,我花了8个多小时研究并试图自己解决这个问题。所以我想我会在这里开个账户并试试运气......

我正在为房地产经纪人建立一个网站来添加他们的房源。所以我为Listings创建了一个自定义帖子类型。在此自定义帖子类型中,我使用以下代码添加了自定义输入(这只是一个片段,因此您可以看到我如何定义每个自定义字段):

$meta = get_post_meta($post->ID,'_listing_meta',TRUE); 
?>
<p><label>City:</label><input name="listing_meta[city]" value="<?php echo $meta['city']; ?>" /></p>
<p><label>Area/Region:</label><input name="listing_meta[region]" value="<?php echo $meta['region']; ?>" /></p>
<p><label>Price:</label><input name="listing_meta[price]" value="<?php echo $meta['price']; ?>" /></p>
<p><label>MLS#:</label><input name="listing_meta[mls]" value="<?php echo $meta['mls']; ?>" /></p>
<?php 

接下来,在我的content.php文件中,我显示如下价格:

<?php
$meta = get_post_meta($post->ID,'_listing_meta',TRUE);
echo '<div class="listing-price">$'.$meta['price'].'</div>';
?>

就自定义字段而言,这非常有效。但我不能为我的生活让它按价格顺序对列表进行排序......

请告诉我这是否足以帮助我。如果您还需要更多信息,我将很乐意为您提供。

这是我的循环(它只是标准的TwentyFifteen循环):

<?php
// Start the Loop.
while ( have_posts() ) : the_post();
    get_template_part( 'content', get_post_format() );
// End the loop.
endwhile;
?>

1 个答案:

答案 0 :(得分:-1)

您能否显示用于获取商家信息的wp查询?您的查询应如下所示

$posts = get_posts(array(
    'post_type'         => 'listings',
    'posts_per_page'    => -1,
    'meta_key'          => 'listing_meta',
    'orderby'           => 'meta_value_num',
    'order'             => 'DESC'
));