如何从帖子的自定义字段中获得最低价格

时间:2013-01-29 作者:Rex

这是我的密码。

它是从主类别中获取子类别。并且从不同的子类别中有关于不同产品的不同帖子。现在,我想从我定义的自定义字段中获得最低价格值。所以我应该这样做,以获得最低的/分钟值。

<div>
    <?php 
    $subcategories = get_categories(\'&child_of=\'.$cat.\'&hide_empty\');
    foreach ($subcategories as $subcategory) {
    ?>
    <div class="cat-con">
          <?php
          $subCatId=sprintf(\'%s\',$subcategory->term_id); //the_content(); 
          query_posts(\'cat=\'.$subCatId.\'&order=ASC&meta_key=price&orderby=meta_value_number\');
          while ( have_posts() ) : the_post();

          /************************************************************************/
          // this part of code is getting me price of custom fields   
          $price=$post->ID; 
          $price = get_post_meta($price, \'price\', true);
          if ($price <= 3500) {
          $minPrice=$price;
          /************************************************************************/
          ?>
              <div class="cat-img">
                  <?php $postID=$post->ID; $image = wp_get_attachment_image_src (get_post_thumbnail_id( $pageID ),\'medium\', true) ; ?>
                  <img width="445" height="209" src="<?php echo $image[0]; ?>" alt="" />
              </div>
              <div class="clear"></div>
              <div class="cat-heading">
                  <?php echo sprintf(\'<a href="%s">%s</a>\',get_category_link($subcategory->term_id), apply_filters(\'get_term\', $subcategory->name));?></a>
              </div>
              <div class="clear"></div>
              <div class="cat-con-text">
                  <p><?php the_content(); ?><p>
              </div>
              <div class="clear"></div>

              <div>
                  <div class="floatright">
                      <a href="<?php echo sprintf(\'%s\',get_category_link($subcategory->term_id)); ?>"><img src="<?php bloginfo( \'template_directory\' );?>/images/btn-view.png" alt="" /></a>
                  </div>
                  <div class="cat-price">Price Start From &pound;<?php echo $minPrice?></div>
                  <div class="clear"></div>
              </div>
                  <?php    
          } // end if $price
          endwhile; ?>
    </div>
    <?php } //end foreach; ?>
    <div class="clear"></div>
</div>
<!--End Category-->

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您的代码在几个地方严重损坏,在其他几个地方可能存在缺陷。

$price=$post->ID; 
$price = get_post_meta($price, \'price\', true);
i0 ($price <= 3500) {
   $minPrice=$price;
第1行:没有中断,但为什么不直接使用$post->ID?将其设置为名为$price 是令人困惑和不必要的true 参数意味着get_post_meta 将仅返回单个值。如果有多种价格,这将打破。我不知道情况是否如此if 拼写错误。这将是一个致命的错误。其次,你的问题是关于找到lowest 值,但您要查找的值小于或等于static 存在不一致。我假设你想要最小的值if 条件应该有一个结束}. 这是另一个致命错误因此,如果您试图获得每篇文章的最低值,请执行以下操作:

$price = get_post_meta($post->ID, \'price\');
$minPrice=min($price);
如果您试图从循环中的所有帖子中获得最低价格,请执行以下操作:

$price = get_post_meta($price, \'price\', true);
// initialize $minPrice to some high value before the Loop starts
if ($price < $minPrice) {
    $minPrice=$price;
} 

结束

相关推荐