3

次のコードを使用して、WordPressサイトに表示するGoogleニュースフィードがあります。

$feed = fetch_feed($rss_url); // specify the source feed
$limit = $feed->get_item_quantity(20); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
foreach ($items as $item) : 
    echo $item->get_description(); 
endforeach;

問題は、私が除外する必要がある特定の個々の記事です。GoogleニュースアイテムにはGUIDタグがあります。アイテムのGUIDが与えられた場合、SimplePieに指定されたアイテムを無視するように指示するにはどうすればよいですか?

ありがとう-

4

1 に答える 1

3

SimplePieには(まだ)組み込みのフィルタリング機能はありません。ただし、必要なアイテムのみを選択して表示できます。

$feed = fetch_feed($rss_url); // specify the source feed
$limit = $feed->get_item_quantity(20); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
$ignoreGUIDs = array("http://example.com/feed?id=1", "http://example.com/feed?id=2");
foreach ($items as $item) : 
    if(!in_array($item->get_id(false), $ignoreGUIDs)){
        echo $item->get_description();
    }
endforeach;

get_id()メソッドは、アイテムの<guid>、、、<link>および<title>タグの配列を返します。in_array()各句は、次に、各の一致を検索します$ignoreGUIDs。一致するものがない場合は、アイテムのGUIDが除外リストにないため、アイテムが(によってecho)表示されます。

于 2011-05-18T21:24:43.303 に答える