viewssimplepie.phpで複数サイトのRSS一覧をアイコンを付けて表示させる覚え書きTweetイベントのサイトや幾つかのブランドがあるサイトで一つの場所に全部のRSS情報を最新5件、一覧で表示させるというミッションがあり、四苦八苦。いくつかのrssプラグインを使ってみたものの、個別にアイコンを付ける機能がついているようなプラグインなど無く、wpにもとからあるclass-simplepie.phpを使って表示させることに。最終的なコードはこちら。URL、、と複数のフィードするURLを指定する。ここでハマったのが、キャッシュするフォルダを指定していなかったので、エラーが表示されてしまった。ディレクトリのトップにcacheフォルダを作り、パーミッションを700に指定すればOK。一覧では、複数のサイトの最新5件を一覧させたかったので、そのように。?>で、後はそのデータを表示させるだけなのだけど、ここでもトラップがいくつか。1)それぞれのサイト専用のアイコンを表示させるため、preg_matchでアイコンを指定if(preg_match("/FEED-A/",$item->get_permalink()とすると、パーマリンク(URL)の中の任意の文字列「FEED-A」が入っている場合は「ic_a.png」をタイトルの横に表示させることになる。同じドメインにいくつかのサイトやサービスがある場合、ドメインの文字列を使うと全部同じアイコンになってしまったり、ページタイトルにその文字列が入ってるとややこしくなってしまうため、if(preg_match("/FEED-B/",$item->get_feed()->get_title()として、サイトのタイトルを指定して、そこにある文字列で分けることで同じドメインでもOKに!(下のコードでは一応両方設定。)2)get_descriptionでコンテンツの中身を一部表示させた際、最後の文字が文字化けしてしまった。mb_strimwidthの関数を使い、その前で言語とエンコードも指定。target="_blank">続きを読む</a></span></dd></dl>基本のコードはこちらのサイトを参考にさせていただきました。ありがとうございます。Replyメールアドレスが公開されることはありません。プラグインを使わないでフィルター、ソート機能をつける覚え書き。error.POSTSまとまりネットワークがブチブチ切れる→ハブだってさ。