MTでPHPを利用して投稿者毎に異なるリンク先を生成する
caraldo.net | WebとiPhoneとロードバイクが大好き! » プログラミング » MovableType » MTでPHPを利用して投稿者毎に異なるリンク先を生成する
勉強がてら何かPHP書きたいなぁ~と思い少し考えてみました。
PHPを利用して投稿者毎に異なるリンク先を生成する
このブログは二人で運営していてそれぞれiddy | ブロガー向けプロフィールページASPでプロフィールページを持っています。
そこへのリンクをPHPで生成してみようと思います。
稿者の名前を判別してリンク先を変更する
<?php
if ( "<$MTEntryAuthorNickname$>" == "k." ) {
#文字列を判定、$MTEntryAuthorNickname$が「k.」だったら
echo "<a href=\"http://iddy.jp/profile/caraldo_k/\">";
} else {#そうでなかったら
echo "<a href=\"http://iddy.jp/profile/poooooon/\">";
}
?><$MTEntryAuthorNickname$></a>
簡単なif文です。もっとスマートに書く事もできそうですが、ひとまず分かりやすい形で。
他にもMTタグと組み合わせれば色々できそうですね。
と、ここまで書いて気づいたのですが、こういう機能がMTに無いわけないよな~って。
MTタグで投稿者毎に異なるリンク先を生成する
少し探してみたらやはりありました(汗
MTEntryAuthorLink
投稿者へのリンクを表示します。 このリンクには、投稿者のログイン名ではなく、表示名が表示されることに注意してください。 投稿者のプロフィールにURLが入力されていればURLへのリンクが、またメールアドレスが入力されていたら、メールアドレスへのリンクが付加されます。 両方とも入力されていないときは、リンクは付加されません。アトリビュートshow_emailやshow_urlを指定することで、リンクをカスタマイズできます。Movable Type 3.3 マニュアル: テンプレート・タグ リファレンス
使用方法は簡単です。
メイン・メニュー > システム・メニュー > 投稿者 > 投稿者名 で
ウェブサイトURL部分を設定するだけです。

あとはリンクを生成したいテンプレート内に<$MTEntryAuthorLink$>を記述してあげればOKです。
展開されるソースは
<a href="ウェブサイトURL">投稿者名</a>
と、なります。
結局PHP書かないでも出来ましたが、いいお勉強でした。