【问题标题】:Only display blog posts with description on website仅在网站上显示带有描述的博客文章
【发布时间】:2016-10-11 18:35:05
【问题描述】:

我正在通过 rss 提要在网站主页上提取 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): ?>

有什么想法可以做到这一点吗?

【问题讨论】:

  • if(!$item-&gt;description()) ... ?

标签: php wordpress


【解决方案1】:

试试empty() 功能。

<?php if (!empty($item->description()) ) {

你也可以只使用 $item-&gt;description() 而不使用空函数,使用 PHP 的类型杂耍,但这可能不可靠。

【讨论】:

  • 在这种情况下,$item-&gt;description() 的可靠性不亚于!empty($item-&gt;description()) ...我们知道存在description() 方法,因此无论哪种方式我们都只是检查真实性 ...
【解决方案2】:

您可以使用 PHP 的empty 函数来检查描述是否存在。

另外,将&lt;li&gt; 标记和$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; ?>

希望对你有帮助。

【讨论】:

  • -&gt;description() 是一个方法而不是类成员 - 如果您尝试使用 isset(),您将得到:致命错误: 无法在函数调用的结果...
猜你喜欢
  • 2023-02-18
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 2021-04-16
  • 2018-12-02
  • 2016-05-18
  • 1970-01-01
  • 2021-07-12
相关资源
最近更新 更多