2009年1月1日木曜日

WordPress自作テーマとlightbox

WordPressにlightboxを導入しようと思ったら、うまくいかなくてお正月の半日をつぶしてしまいました。
いろいろわかったことがあったので、書き留めておきます。
WordPress2.6.1


1)下記のサイト様からダウンロードします
Lightbox 2 WordPress Plugin 日本語版
lightboxはいろんなバージョンが出ていますが、ここのが一番簡単でした。

2)解凍したフォルダを/wp-content/plugins/以下にアップロード
(PHPがcgiモードで動いている場合lightbox.phpを705にするのを忘れずに)

3)管理画面のプラグインで有効に

4)設定 >lightbox で設定をします。

で、ここで第一のつまずき・・・・に。
<head>の中に
<?php wp_head(); ?>
この1行を入れなさいというエラー表示が出て先にすすめません。

自作テーマだったので、普通なら<head>の中に入っている
<?php wp_head(); ?>がなかったんですね。
今までなくても困らなかったので気にとめていなかったんですが、
これはユーザーが定義した関数を代入するタグのようで・・・
これがないとlightbox.phpの中の関数が読み込まれないようです。
で、</head>の手前に上記タグを入れたけどやっぱりNG


その後検索して
フォーラムでのやりとりで
lightbox-2-wordpress-pluginが使えない

この記事をみつけて、
</head>の手前に<?php wp_head(); ?>を
</body>の手前に<?php wp_footer(); ?>をそれぞれ入れました。

5)投稿時に自動でrel="lightbox"が入るように・・・

HTMLモードで投稿するときにaタグの中に、手動で上記のタグを入れれば動作するということがわかったのですが、
自動で入ってくれないと不便・・・
というわけで、下記の記事を参考にさせていただきました。

WP - WordPress 2.6 画像挿入まわりの修正

wp-admin/includes/media.php
61行目付近を下記の通り変更

if ( $url )
$html = '<a href="' . clean_url($url) . "¥"$rel>$html</a>";

変更後

if ( $url )
$html = '<a href="' . clean_url($url) . $rel . '" title="' . $title . '" rel="lightbox[' . $_REQUEST['post_id'] . ']">' . $html . '</a>';

0 件のコメント:

コメントを投稿