WEBマスター

会社サイトの新商品RSSを、FeedWordPressを仕込んだWordPress製の衛星サイトに読ませサムネ付の記事を表示

この記事は約4分で読めます。

タイトルが長くなりましたが、会社のサイトに

MODxで作成した会社サイトにCsv2Docを導入
3ヶ月という過去最長の期間ご無沙汰していました。 実は社内で、4月中旬から新規事業とその専門店舗を立ち上げ、ずっと付きっ切りでした。 3月下旬から5月一杯までは、GWももちろんおよそ70日間1日も休まず連続仕事をしていました。 順調に仕事が入るのと、お客様...

を仕込むことが出来たおかげで、いろいろなことが出来るようになりました。

  • 商品個々がそれぞれ1個のページとして作成されるので、タグで商品を検索できたり、
  • 商品個々を記事とした写真つきのRSSを作ったり。

さて、ブログを構築できる「WordPress」というCMSがありますが、WordPressで作ったサイトにプラグイン「FeedWordPress」を導入すると、

他のサイトのRSSを読み込んで自サイトの記事に取り込み、自分のサイトから投稿した記事のように表示させる

ことができます。

これは、悪用すると他者の作ったRSSを利用したコンテンツ泥棒みたいなことも可能です。

しかし本サイトへの窓口を広げるために、本サイト所有者が衛星サイトを作るときに、FeedWordPressがあると衛星サイト更新の手間を省くことが出来、仕事で運用するには非常に有用で効率的です。

せっかく本サイトでRSSを吐き出せるようになったので、早速この仕組みで衛星サイトを作ってみることにしました。

さて、テキスト主体のRSSの場合、これで終了ですが、本サイトの発信するRSSは、本サイト内にある商品写真を表示するようになっています。

この写真データは若干重くなっているので、

ModX製の本サイトでこの画像を表示するときは「DirectResize」というプラグインを用いて自動でサムネイルを作成し、軽い写真でサイト表示

するようにしています。

本サイトのRSSから自動作成したWordPress衛星サイトでの写真表示は、衛星サイト側でなにもしないでいると、重い写真をそのまま読み込んで表示してしまいます。
これではページが重くなり「本サイトへの窓口」という衛星サイトの用を為しません。

ということで、ModXの本サイト同様に

サムネイルを作成する方法を、WordPress衛星サイトで本サイトから読み込んだRSSによる自動生成記事でも表示できるか

調べてみました。

すると、「外部サイトの画像も指定できてしまう」とあります。とりあえず「出来る」ということがわかりました。
私が作成しようとする衛星サイトはphpセーフモードのcoreserverにおくので、同じ仕様のサーバーであるxreaでの解説はありがたいです。

そこで、まずtimthumb.phpを使用しているテーマを探したところ、

arras-themeというテーマがtimthumbを使っていました。

arras-themeのtimthumb.phpで引用元画像のサムネイルを表示させるには、「thumb」というカスタムフィールドに各記事の画像URLがあればよいようです。
ということで、

  1. まずarras-themeをインストールし、
  2. 本サイトが発信するRSSでguidタグ内に画像URLを入れるようにし、
  3. 衛星サイトに導入したFeedWordPressの設定「Syndication」の「Posts & Links」にあるCustom Post Settingsで、
    key:thumb、
    value:$(guid)
    として、各記事のカスタムフィールドthumbに画像URLが入るようにしました。
    でも表示されません。
  4. ここに書いてあるサイトから最新版のtimthumb.phpを落として、[arras-theme]-[library]内にあるtimthumb.phpと入れ替え、
  5. libraryディレクトリのパーミッションを755、[library]-[cache]ディレクトリのパーミッションを777にしました。

まだ動きません。 timthumb.phpを読んだところ、

define ('DIRECTORY_TEMP', './temp'); // temp directory

となっていたので、 libraryディレクトリにtempディレクトリを作り、777に、

// external domains that are allowed to be displayed on your website
$allowedSites = array (
'flickr.com',
'picasa.com',
'blogger.com',
'wordpress.com',
'img.youtube.com',
);


flicker、picasaなどを消して、RSSを吐き出す本サイトのドメインを指定したところ、
やっとサムネイルが表示されました~

timthumb.phpを使っているテーマを調べてみたら、arras-themeのほかにもcleanPRESSというテーマがありました。
こちらでもtimthumb.phpを上書きするなど、同様のことを試してみたら、3つ目の記事のサムネまでは表示されますが、4つめ以降の記事のサムネイルが表示されませんでした。今後調べてみます。

ネットで検索すると大体のことが書いてある今は、ちょっとしたことではあきらめずに努力するようになりました。
先人の皆様ありがとうございます。