2016-10-11 16 views
0

私は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): ?> 

どうすればいいですか?

+1

'if(!$ item-> description())...'? – CD001

答えて

0

PHPのempty機能を使用して説明が存在するかどうかを確認できます。

また、ifの条件内にタグと$iのインクリメントを付けます。

すなわち:

<?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; ?> 

はそれがお役に立てば幸いです。

+0

' - > description()'はクラスメンバーではないメソッドです - あなたが 'isset()'を使用しようとすると、次のようになります:**致命的なエラー:**関数の結果に対してisset電話... – CD001

+0

ありがとう@ CD001、私は私の答えを編集しました。 – JazZ

0

empty()機能を試してください。

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

また、単にPHPのタイプのジャグリングを使用して、空の機能なし$item->description()を使用することができますが、これは信頼できない可能性があります。

+0

この場合、 '$ item-> description()'は '!empty($ item-> description())'より信頼性が低くなります。私たちはただ真実をチェックしています* – CD001

関連する問題