如何只在Widget中显示某些帖子?

时间:2015-06-03 17:51:48

标签: php if-statement

我正在网站上工作,但我无法自定义模板附带的其中一个小部件。这是一个房地产网站,在主页上有一个小部件,可以抓取帖子的缩略图并选择信息。我把小部件分成两部分,所以一方显示帖子和正常情况一样,而另一方则是显示标有真实字段“热卖”的帖子。见here

我怎样才能这样做只有hot deals出现在特价方面?现在,它在两者中都显示出来。 我不太熟悉PHP,但我通常设法通过它。

我认为这是有问题的php

<?php 
if(has_post_thumbnail()) {
  if ($instance["thumb"]) {
    echo '<figure class="featured-thumbnail thumbnail">';

    if ($instance['thumb_as_link') {
      echo '<a href="' . the_permalink() . '">';
      if ($hotdeal) {
        echo '<div class="hot-deal"></div>';
      }
    }

    if($instance['thumb_w']!=="" || $instance['thumb_h']!==""){
      $thumb_w = $instance['thumb_w'];
      $thumb_h = $instance['thumb_h'];
      echo '<img src="<?php echo $image; ?>" width="<?php echo $thumb_w ?>" height="<?php echo $thumb_h ?>" alt="' . the_title() . '" />';
    } else {
      echo the_post_thumbnail();
    }

    if ($instance['thumb_as_link']) {
      echo '</a>';
    }

    if (is_front_page() ) { 
      if ($area) {
        echo '<div class="area"><?php echo $area; ?></div>';
      }
    }

    echo '</figure>';
  }
}     

我是否可以写一个if语句来实现我正在寻找的结果?

1 个答案:

答案 0 :(得分:1)

根据我们的朋友@TimLewis的建议,我尝试解决您的问题,并尝试组织您的代码以使其更具可读性。

请参阅:

if(has_post_thumbnail()) {
    if ($instance["thumb"]){
        echo('<figure class="featured-thumbnail thumbnail">');
    }
    if ($instance['thumb_as_link']) {
        echo('<a href="'.the_permalink().'">');
        if ($hotdeal) {
            echo ('class="hot-deal"');
        }
    }
    if($instance['thumb_w']!=="" || $instance['thumb_h']!=="") {
        $thumb_w = $instance['thumb_w'];
        $thumb_h = $instance['thumb_h'];
        echo ('<img src="'. $image." width=".$thumb_w." height=".$thumb_h."     alt=".the_title()."/>");
    } else {
        the_post_thumbnail();
    }
    if ( $instance['thumb_as_link'] ){
        echo ('</a>');
    }
    if ( is_front_page() ) {
        if ($area) {
            echo('<div class="area">'.$area.'</div>');
        }
    }
    echo ('</figure>');
}

如果我没有犯任何错误(因为你的代码很可能是#34;一团糟&#34;),你的错误就在这一部分:

 if ($instance['thumb_as_link']) {
    echo('<a href="'.the_permalink().'">');
    if ($hotdeal) {
        echo ('class="hot-deal"');
    }
}

不要使用div,只需将类热门分配给您的链接,然后使用CSS让您的页面上出现魔法。

我希望这会有所帮助