我通过RSS Feed在网站主页上删除了3篇最新博文。 这是代码:
<div class="wpTest">
<div class="wpContent_wrapper">
<ul class="wpContent_slider">
<?php $channel = new Zend_Feed_Rss('https://www.test.co.uk/blog/feed/'); ?>
<?php $i = 0; ?>
<?php foreach ($channel as $item): ?>
<li class="wpContent">
<?php if ($i < 3) : // number of articles ?>
<a title="<?php echo $item->title; ?>" href="<?php echo $item->link; ?>"></a>
<p><div class="wp_content_main" id="test1"><a title="<?php echo $item->title;?>" href="<?php echo $item->link; ?>"><?php echo limitWords($item->description()); ?> <?php echo '....' ?></a></div></p>
<div class="wp_content_button"><a title="<?php echo $item->title; ?>" href="<?php echo $item->link; ?>" class="wp_more">Read More</a></div>
<?php endif; ?>
<?php $i++; ?>
</li>
<?php endforeach; ?>
</ul>
</div>
</div>
现在我的问题是,某些博客文章的设置方式,他们在RSS订阅源中没有说明。因此,如果是这种情况,我不想显示它们。 我已尝试为此做一个if语句,但它没有用。
<?php if ($item->description() !== '' && $item->description() !== NULL): ?>
我有什么想法可以做到这一点吗?
答案 0 :(得分:0)
您可以使用PHP的empty
函数来检查描述是否存在。
另外,将<li>
标记和$i
的增量放在if
条件中。
即。 :
<?php $i = 0; ?>
<?php foreach ($channel as $item): ?>
<?php if ($i < 3 && !empty($item->description())) : // number of articles ?>
<li class="wpContent">
<a title="<?php echo $item->title; ?>" href="<?php echo $item->link; ?>"></a>
<p><div class="wp_content_main" id="test1"><a title="<?php echo $item->title;?>" href="<?php echo $item->link; ?>"><?php echo limitWords($item->description()); ?> <?php echo '....' ?></a></div></p>
<div class="wp_content_button"><a title="<?php echo $item->title; ?>" href="<?php echo $item->link; ?>" class="wp_more">Read More</a></div>
</li>
<?php $i++; ?>
<?php endif; ?>
<?php endforeach; ?>
希望它有所帮助。
答案 1 :(得分:0)
尝试empty()
功能。
<?php if (!empty($item->description()) ) {
你也可以使用没有空函数的$item->description()
,使用PHP的类型杂耍,但这可能是不可靠的。