2010年1月31日のアーカイブ

WordPress で Lightbox を使う

Movable Type でも利用していた、画像をオーバーレイ表示する Lightbox。MT では導入にひと手間かかりましたが、WordPress では Lightbox を簡単に使用することができるようにするプラグインがいろいろと公開されています。

最初に様々なブログで評価の高い Lightbox 2.0 for WordPress を入れてみましたが、ページによっては <head> 内に Lightbox の Script が読み込まれなかったりしてうまく動作しませんでした。
で、Lightbox 2 WordPress PluginAdd Lightbox の組み合わせがグッドです。

Lightbox 2 WordPress Plugin は、<head> 内に Lightbox の関連ファイルを読み込みますが、更に Black, Dark Gray, Gray, White の4パターンのスタイルが用意されています。

そして、Add Lightbox は <img> を含む <a> 要素に、自動的に rel="lightbox[%pst_id%]" を追記してくれます。

更に過去の記事にも反映されるので、MT からインポートした記事にも rel="lightbox[%pst_id%]" が追加されるのですが、MT の時に記述していた rel 属性と重複してしまうので、先に導入していた Search Regex を使い、以下のような正規表現で既存の rel 属性を検索し、置換して削除しました。

/ rel=\"lightbox\[[A-Za-z0-9]*\]\"/

WordPress の自動保存

WordPress をインストールした段階でサンプルの記事と固定ページがあり、そこへ Movable Type から 242 件の記事をインポートしたので、最新の記事の ID が 244 でした。その後、新規の記事を追加すると、なぜか ID が大きく飛んでいました。

パーマリンク URL に %post_id% を指定したので、どんどん ID が飛んでしまうのは何となく気持ち悪い。どうも、WordPress には投稿履歴と下書きを自動保存する機能があり、その度に ID が更新されるようです。

そこで見つけたのが Disable Revisions and Autosave plugins。これをインストールして有効にすることで自動保存を無効にできます。
ただし、下書きとして保存しなければ記事をプレビューすることが出来ません。

#この現象を解決するために、何度データベースを削除してインポートし直したことか...。