Twitter を本格的に使うようになってからブログの更新がすっかり減ってしまいましたが、つぶやいた内容を自分のところでアーカイブ化しておこうということで、一日分のツイートを WordPress に投稿する形で保存する方法を紹介します。
今回使ったのは Twitter Digest というプラグイン。それほど活発に更新されているわけではないようですが、最新版の 2.6 は WordPress 3.0.4 で問題なく動いています。実は最近まで Twitter Tools というプラグインの類似の機能を使っていたのですが、アーカイブ化する機能が experimental ということもあって、たとえば多少の改造をしなければ日本時間に対応してくれなかったり、改造している過程でうまく動かなくなってしまったりで(T_T)、別のプラグインを探したというわけです。
さて本題。Twitter Digest のインストールは、WordPress の Admin 画面から Plugins メニューの Add New に進み、検索画面で “Twitter Digest” と入力すれば最初にヒットします。Install Now をクリックして指示に従うのは、他のプラグインのインストールと同じです。
インストール後、Settings メニューに Twitter Digest が表示されるので、そちらに進んで各種設定をします。以下設定内容を紹介。
一番上の Username 欄には、アーカイブ化したい twitter アカウントを入力します。Twitter での認証は必要ないので、単にフィードを引っ張ってくる仕組のようです。次の Publish Options では、ツイートをまとめるタイミング(1日1回か1週間に1回)を選びます。Daily としておけば1日分のツイートをまとめてくれます。
Time of Day はまとめたツイートを WordPress に投稿する時刻です。後述のとおり実際の投稿時刻はこれよりも少し遅れますが、投稿のタイムスタンプはここで指定した時刻になります。23:59 にすることで、その日一番最後の WordPress の投稿になります。
Post Title 欄には、WordPress の投稿タイトルを書きます。僕は Twitter Tools のデフォルトと同じものにしましたが、日本語でもOKだと思います。%startdate というのはまとめた中で一番最初のツイートをつぶやいた日になります。1日分のアーカイブの場合 %startdate も %enddate も同じ日になりますが、1週間のアーカイブを作る場合には、例えば “%startdate から %enddate までのツイート” といったタイトルを付けるとわかりやすいかもしれません。
Post Excerpt の機能は使っていませんが、WordPress の抜粋表示と同じ役割だと思われます。
Post Title/Excerpt Date Format は、上の %startdate/%enddate のフォーマットです。デフォルトの Y-m-d を使えば、たとえば 2011-01-20 といった表示になります。PHP の date 関数については、こちらのページなどが詳しいので、好きな形に整形してください(日本語も使えます)。
Post Category は、WordPress 投稿時のカテゴリー設定、Post Tags についても、投稿時に自動的に付けるタグの設定です。Post Author は、WordPress で複数の投稿者アカウントがあるときに、どのアカウントから投稿させるかを指定します。
Exclude @reply にチェックを入れれば、ツイートのうち @ で始まるものアーカイブからは除きます。Show tweets in chronological order? にチェックを入れれば、投稿が古いものが上になるように並びます(逆にチェックを外せばタイムラインのように新しいものが上に来ます)。
Show tweet dates? は個々の投稿に日付を付けるかどうかですが、1日分のアーカイブの場合は全て同じ日付なので僕はチェックを外しました。逆に Show tweet times? の方はチェックを入れておくことでつぶやいた時刻が表示されて便利です。
Minimum number of tweets required for post は、この数字よりツイート数が少なかった場合にはアーカイブを作成しないという意味です。1 にしておけば、1日1回以上つぶやけば WordPress に投稿される(逆に1回もつぶやかなかった日はアーカイブが作成されない)ことになります。
Maximum number of tweets to retrieve は、アーカイブする最大ツイート数の設定です。例えばここを20と設定した場合、1日のツイート数が30あればそのうち20件しか保存されないことになります。多分最大値の200にしておいて良いと思います。ただ、最大値は Twitter の方の制限が変更される可能性があります。例えばプラグイン作者のページでは最大20件までしか引っ張ってこれないと書いてありますが、プラグインの設定画面では上のスクリーンショットのように200までは大丈夫と読めます。実際自分で試したところでは、ツイート数が20を超えても問題なかったので、多分200件まではいけるのではないでしょうか(この辺はあまり詳しく調べてません。自分の1日のツイートがせいぜい20-30なので)。
以上を全て設定したら、下の Update Options ボタンをクリックして終了。とりあえずうまく機能するか試す場合には、その下の Ping Twitter ボタンをクリックして前日のツイートをこのプラグインのデータベースに読み込んで、その後下に出てくるボタン(多分 なんとか immediately だと思うのですが正確な名前失念!これを書いている段階では前日のツイートがアーカイブ済みでデータベースが空なので、そのボタンが出ないのです)をクリックすると前日分が WordPress に投稿されます(タイムスタンプは前日の “Time of Day” で指定した時刻になります)。
ご参考までに、Twitter Digest を上のスクリーンショットの設定にして投稿されたアーカイブはこんな感じになります。
最後に、1日分のアーカイブが実際に投稿される時刻についてです。プラグイン作者のページには:
This plugin uses the pseudo-cron facility available in WordPress to publish a daily post of tweets from the previous day.
と書かれています。この辺詳しくないですが、簡単に言うと誰かが当該 WordPress ブログを訪問する度に cron っぽいことをしてくれるということで、つまりこれは日付が変わってから最初に誰かがブログを訪問してくれたタイミングで Twitter Digest プラグインが働いてアーカイブを投稿してくれるということを意味します。ちなみに、僕のブログは昨日の訪問者が205人でページビューは336でしたが、このブログで昨日のアーカイブが投稿されたのは午前1時頃でした。