Flickrの「Blog This」機能がいまいちだったので、Flickrからではなく、WordPressの管理画面からFlickrの写真を複数投稿したりできるプラグインを探していました。それで見つけたのが「WordPress Media Flickr」です。Flickrに載せた「光の教会」写真がWikipediaで使われていたで貼ったFlickrからの写真はこのプラグインを使いました。
作者の方によるプラグイン解説ページではscreencastを使って使い方が解説されています(このページからダウンロードできるバージョンは1.0.0になっていますが、wordpress.orgからは1.0.3がダウンロードできます)。作者の方のページには不具合報告も出ているようですが、私はこのプラグインの1.0.3をWordPress 2.6.3で使って今のところ特に異常はありません。
掲載する写真のサイズや位置(右寄せ、真ん中、左寄せ)、文字の回りこみをするかどうかなどが選択できるのはとても良いと思います。また、独自のタグではなく普通のHTMLタグを挿入する形式なのも良いです(将来このプラグインを使わなくなっても表示に支障がないから)。
ただし、ブログに貼り付けたい写真を探すのに、順番に見ていくか、写真のタイトルで検索するかしかできません。最近私は個別の写真はカメラがつけた番号のままアップロードし、Setにだけ名前をつけているので、これらの写真を探すには順番に見ていくしかないのです。Set単位でブラウズできるか、Setの名前で検索できるようになるともっとよいと思いました。
Flickrにアップしている写真をこのブログに投稿しようとして、その写真の上にある「Blog This」ボタンを押して、ブログツールとしてWordPressを選択して、API EndpointとUsernameとPasswordを要求されたので入力したら、「UsernameとPasswordが間違っている」と言われて先に進めなかった。なお、API Endpointは「WordPressの場合は普通こうなるよ」という例(ブログURLにxmlrpc.phpをつける)が示してあるので、その通り入力する。
これは、UsernameやPasswordの問題ではなく、WordPress側の管理画面で「設定」→「投稿設定」→「リモート投稿」内の「Atom 投稿プロトコル」「XML-RPC」を有効にすれば良い。たぶんどちらか片方でいいと思うんだけど、よく分からないので両方有効にしてみた(が、たぶん後者だけで良いと思う)。デフォルトでは両方とも無効になっている。
Flickrの管理画面からテスト投稿すると以下のようなメッセージがブログに表示される。
This is a test post from
, a fancy photo sharing thing.
設定がうまくいき、実際にFlickr内のブログ投稿画面から投稿してみると光の教会 / Church of Lightのような感じになる。うーむいまいち。Flickrのテキストボックスの機能は貧弱だし、一投稿に一枚の写真しか貼れないし、カテゴリ選択やパーマリンクの編集もできないので、結局WordPressから再度編集画面を開いて編集しなおしている。これではちょっと使えないなあ、と思った。これだったら、YouTubeみたいに、貼り付け用のHTMLコードとか発行してくれたほうがいいよ。
WordPress関連のブログを見ていると、来月リリース予定のバージョン2.7の情報が目に付くようになってきました。管理画面が見やすくなっているほか、さまざまな機能が追加されているらしいので、リリースされたら早めにバージョンアップしたいと思っています。
しかし、今度のバージョンアップは2.6.3にしたときのように簡単にはいかなさそうです。投稿のバックアップはもちろん、手を加えたテーマなどはあらかじめ保存しておかなければいけません。特に、投稿はデータベースに保存されているので、どうやってバックアップするのかなと思っていました。
WP-DB-Backupを使う
まず一つあるのが、プラグインのWP-DB-Backupを使う方法のようです。これをインストールしてみました。
インストール解説では、「wp-db-backup.php をコピーする」と、英語ユーザーのことしか考えていない記述になっていますが、実際はダウンロードしたzipファイルを解凍すると、各種言語の.poファイルと.moファイルが入っています。よく分からないのですが、FAQによると、「wp-db-backup.pot」が多言語対応のためのファイルらしいです。このファイルと、日本語らしき「wp-db-backup.ja.po」「wp-db-backup.ja.mo」の3つをwp-db-backup.phpに加えてpluginsディレクトリに入れて有効化したら、管理画面が日本語になっていました。
管理画面では、その場でバックアップと、1日1回、1週間に1回など周期を指定してバックアップの両方ができます。とりあえずその場でのバックアップを試してみました。
バックアップファイルの扱いは、(1)サーバー内に作成したディレクトリ(wp-content 内)に保存 (2)ローカルにダウンロード (3)メール送信 の3つが選択できますが、(1)がどうしても選べません。(1)を選択してバックアップを開始しても、自動的に(2)にチェックボックスが移動してしまい、サーバー内にバックアップ用ディレクトリは作成されているのですが(一時的にwp-contentを757にしました)、そのディレクトリの中には空っぽのindex.phpがあるのみで、バックアップファイルが保存されません。
また、(2)と(3)で保存されたバックアップファイルをテキストエディタで開いてみると、今までこのブログで書いた記事が保存されていないようです。なぜか、WordPress日本語ブログの内容とか、WordPressフォーラム(日本語版)の内容ばかりが書き込まれています。これで万が一今までの投稿が消えた場合のバックアップになるのか、激しく不安です……。
記録のため、利用したツールのバージョンを残しておきます。
- WP-DB-Backupプラグインのバージョン:2.2.1
- MySQLサーバのバージョン:4.0.27
- PHPのバージョン:5.2.6
- WordPressのバージョン:2.6.3
phpMyAdminからダウンロード
WP-DB-Backupの動作が心もとないので、Backing Up Your Database « WordPress Codex内にある「Using phpMyAdmin」を試してみました。レンタルサーバにログインしてphpMyAdminを操作してダウンロードします。この解説は英語で、私が見ていたphpMyAdminは日本語でしたが、まあ分かる範囲で、指示通りやってダウンロードできました。
これでダウンロードしたファイルは2130KBと、かなりの量になりました。きっちりと確認したわけではありませんが、投稿した本文もちゃんと入っているようです。さきほどWP-DB-Backupでダウンロードしたファイルは250KB程度と10倍近い差があり、やはりWP-DB-Backupではちゃんとしたバックアップになっていなかったように思います。
このデータベースを元に戻して復元できるかまではやっていないのですが、これは今後の課題とすることにして、今日はここまでとします。
WordPressを使うようになり、今のところ基本的にはコメント欄を閉じて運用しようと思っています。しかし、外部からのフィードバックを受ける手段がメールフォームだけなのもなんだかなあ、と思うので、トラックバックくらいはちゃんと送受信できるようにしたいと思っていました。テスト用に持っているいくつかのレンタルブログのアカウントに、このブログからトラックバックを送信したところ、ちゃんと送れていたので、送信については問題なし。しかし、受信ができないようで、どうしてかなあと思っていました。
しかも、私の使っているさくらインターネットについて、WordPressのフォーラムではさくらインターネットではトラックバックを受信できないと書いている人もいて不安になりました(このトピックでも、最終的にはレンタルサーバは関係ないという結論になっていましたが)。
結論からいうと、私の場合ですが、テストのため外部のブログサービスから送信したトラックバックが全てスパム扱いされてAkismetのスパムフィルタに引っかかっていたので、気づかなかったというだけのことでした。スパムフィルタに引っかかると通知メールも来ないし、もちろん記事ページにも掲載されないので、受信できていないと勘違いしていたわけです。スパムフィルタを確認していなかったために2週間以上悩んでいました。
なお、WordPressでは「トラックバックなんて古いよ」という態度をとっています。なんといっても、記事投稿画面にある、トラックバックを送信時に入力するテキストボックスの解説に、以下のように書いてあるのですから。
トラックバックはリンクしたことをリンク先に知らせる方法として、レガシーなブログシステムに対して用いられます。ほかの WordPress ブログにリンクする場合は、リンク先のブログがピンバックによる通知を自動的に受けるので、さらにトラックバックをする必要はありません。
つまり、WordPress同士であれば、リンクするだけでトラックバック相当の機能(ピンバック)が働くので、いちいちTrackBack URLなど確認して送る必要はないよ、ということです。ちなみに、最初からこのWordPressブログ同士のピンバックはスパム扱いされずにちゃんとメール通知&表示されていました。
しかし、WordPressはレガシーと言おうが、現在日本で使われている大部分のブログは、トラックバック機能を普通に使っているので、トラックバック受信用URLを示すほうが親切です。WordPressならば記事URLにtrackback/を加えるだけのことなのですが、ほかのブログ利用者にはそんなこと分かりませんよね。
トラックバック受信用URLを表示する方法については、WordPressでTrackback URLのボックスを表示 | Tech de Goを参考にしました。
このブログでは、comments.php に以下のようなコードを入れています。上記のTech de Goのものをもとに、注釈やCSS用のクラス指定などを一部変更しました。
<div class="trackback">
<?php if ('open' == $post->ping_status) : ?>
<h3 id="trackback-url"><?php _e('Trackback URL', 'hoge') ?></h3>
<p class="trackback-comment">管理者の承認後に表示します。無関係な内容や、リンクだけで意見や感想のないものは承認しません。</p>
<input onfocus="this.select()" readonly="readonly" value="<?php trackback_url(); ?>"
class="tb_url" id="tb_url" name="tb_url" accesskey="x"/>
<?php endif; ?>
</div>
さらに、スタイルシートには以下のように指定しています。Tech de GoではURLが書いてあるボックスの横幅が”width: 50%”となっていてやや狭いと感じたので80%にしたほか、全体のmarginなどの指定をしました。
input#tb_url {
font-family: "courier new", courier, monospace;
background-color: #CCC;
font-size: 1em;
padding: 0.2em;
width: 80%;
}
div.trackback {
margin: 1em;
}
p.trackback-comment {
font-size: 0.8em;
}
WordPressの日本語版ブログにWordPress 2.6.3 日本語版リリースのお知らせが出ています。英語版(本家)ブログによると、緊急性はそれほど高くないセキュリティアップデートとのこと。
最初は、本格的なアップデートのしかたを読みながら、データベースのバックアップ取って、プラグインを全部オフにして、テーマもバックアップして…とかなり面倒だなぁと思っていたのですが、実は最初にインストールしたのがWordPress 2.6.2だったので、 wp-includes/class-snoopy.php と wp-includes/version.php という2つのファイルを差し替えるだけで済みました。