「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
コメント投稿者のBlogを別窓で開くプラグイン
MyBlogListのBlogを巡回していたときに、さえらさんのBlogで「コメント投稿者リンクを別窓で開くようにする」というエントリーを見かけました。
Movable Type 3.1xまででは、コメント一覧で投稿者の名前をクリックした時には、投稿者のBlogが別ウィンドウで開くようになっていました。
しかし、3.2では同一ウィンドウで開くように変わっています。
さえらさんのBlogでは、lib/MT/Template/ContextHandler.pmのソースコードを書き換える方法が紹介されていました。
しかし、ソースコードを書き換えると、Movable Typeをバージョンアップするたびに書き換えが必要になり不便です。
そこで、同様のことをプラグインでできるようにしてみました。
1.インストール
まず、以下のページに接続して、表示されたソースをすべてコピーしてメモ帳等に貼り付け、「addtarget.pl」というファイル名で保存します。
そして、保存したファイルを、Movable Typeの「plugins」ディレクトリにアップロードします。
2.テンプレートの書き換え
コメント元Blogへのリンクは、「MTCommentAuthorLink」というタグで出力されます。
このタグに、「add_target="1"」のアトリビュートを追加すると、リンクのaタグに「target="_blank"」が追加され、コメント元Blogが別ウィンドウで開くようになります。
例えば、MT標準のテンプレートだと、このタグは以下のようになっています。
<$MTCommentAuthorLink default_name="Anonymous"$>
この場合だと、以下のように書き換えます。
<$MTCommentAuthorLink default_name="Anonymous" add_target="1"$>
3.TypeKeyのプロフィールページを別ウィンドウで表示する
TypeKeyでログインしてコメントされた場合、そのコメントにはTypeKeyのアイコンが表示され、それをクリックするとコメント投稿者のTypeKeyのプロフィールページが表示されます。
このページも標準では同一ウィンドウで表示されますが、別ウィンドウで開くようにすることができます。
TypeKeyのアイコンやリンクなどは「MTCommentAuthorIdentity」というタグで表示されます。
このタグでも、「add_target="1"」のアトリビュートを使うことができます。
4.余談
リンク(aタグ)のtargetの指定は、XHTML 1.0 Strict以降では廃止されることになっています。
MTCommentAuthorLinkタグでtargetを出力しなくなったのは、この廃止を意識したものではないかと思われます。