月別過去ログ

« 記事投稿を便利にするプラグイン | メイン | トラックバックスパム対策 »

カテゴリーごとに違うサイドバーを読み込む

2007年02月16日

先日、友達のサイトをMTで作成しました。
その時に、「カテゴリーで違う内容を書いたサイドバー呼び出したいな・・・」
と思い、適当に思いついたのをやってみたらできちゃった(゚д゚)

ので、その方法をご紹介したいと思います。

プラグインは使いません。
もしかしたら同じ事がもっと簡単にできるプラグインとかあるかも・・・?
ありそうな気がするぅ。

*最初、<$MTCategoryLabel$>を使った方法を書いていたのですが、
たねちゃんが<$MTCategoryBasename$>という
もっと便利なタグがあることを教えてくださいました。
急いでそちらの方法に書き換えました。ありがとうございます。



・カテゴリーの出力ファイル名で判断して、サイドバーを読み込みます。

・「テンプレートのモジュール化」でご紹介している方法をアレンジして使います。
 なので、モジュール化を知らない人はまずこちらを読んで理解してください。

・モジュール化しますので、要phpです。
 Widget Managerでも試してみましたが、できませんでした。

・エントリーアーカイブ、カテゴリーアーカイブで有効です。

カテゴリーの数だけサイドバー用インデックステンプレートが増えます。
 カテゴリーが少ない人向けかもしれません・・・。
 カテゴリー多いけどこれをやりたい人は・・・頑張ってください(*`Д´)ノ

・カテゴリーの出力ファイル名で判断するので、
 カテゴリー名は好きな名前にすることができます。



では、方法です。
ここでは「日記」というカテゴリーを例にしてみます。

1・php化してない人はphp化する

 参照:MTをphp化する



2・カテゴリーを作成する

 好きなカテゴリー名をつけます。
 出力ファイル名を、「カテゴリーフォルダの名前変更法」を参考に、
 英数字で名前を付けてください。

 「日記」の場合は「diary」としてみたり。

 「cat12」などの名前のままでも次の項目で名前を合わせればいいので、
 いまさら出力ファイル名を変えられないという方はそのままでも大丈夫です。



3・モジュールを作る

 そのカテゴリーに表示したいサイドバーを作ります。

 テンプレート>インデックス>テンプレートを新規作成

 テンプレート名は何でもいいですが、とりあえず分かりやすく「日記サイドバー」
 テンプレートの内容に表示したい内容を入れます。

 出力ファイル名は、diary.htmlというように、
 2で決めたカテゴリーの出力ファイル名と同じ名前にします。

 ここ、非常に重要です。

 保存、再構築します。



4・モジュールを読み込むパスを書きます

 エントリーアーカイブ、カテゴリーアーカイブで使えます。

 読み込みたい場所に

 

<?php readfile("/絶対パス/ <$MTCategoryBasename$>.html"); ?>

または、
 
<?php include("/絶対パス/ <$MTCategoryBasename$>.html"); ?>

と書きます。

readfileとincludeの違いは「テンプレートのモジュール化」を見てください。

 赤文字の所で、カテゴリーの出力ファイル名.htmlを読み込むようにしています。
 だから、カテゴリーの出力ファイル名が重要だったのです。

 保存、再構築します。



これで、そのカテゴリーの出力ファイル名と同じ名前の
サイドバーが読み込まれていると思います。
あとは、カテゴリーの数だけテンプレートを増やす事です・・・。



ポイントは、
カテゴリーの出力ファイル名と、テンプレートの出力ファイル名を合わせる事。

このカスタマイズは・・・サイドバーじゃなくても使えますね('Д')!
お好みに改造してお使いください。



普通の日記サイトだと面倒すぎて使いどころがないかもしれませんが、
サイトによってはなかなか使えるんじゃないかな・・・?ドウダロウ

要phpのカスタマイズです。
<$MTCategoryBasename$>のタグはMT3.3で追加されましたので、
3.3以降で使う事ができると思います。
コメント (2)
» 投稿者: たねちゃん

お初!?かな。

どのバージョンからかは忘れましたが、今のMTだとカテゴリーと出力ファイル名に
項目が分かれていて、出力ファイル名は<$MTCategoryBasename$>で
呼び出せます。全角文字だとエンコードとかが大変なので、出力ファイル名の方を
使った方が安全でより確実だと思います。(多分3.3からだと思う)

私はこの技を使っているので良いのですが、readfileとincludeの違いの方を
知らなかったです…これで今までやりたかった事が出来なかった理由が分かり
物凄く参考になりました(笑)さっそく試してみようと思います。

» 投稿者: りぃ

≫たねちゃんさん

お初です[ポッ]かもしれません[!]

ふおお!そのタグがあるとは気づきませんでした。
調べてみたら、やはり3.3からみたいです。
そっちのタグ用に記事を書き直します。
ありがとうございます[うっとり]

コメントを投稿

◇コメントスパムと判断しましたらサックリ削除いたします。ご了承ください。

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

おしらせ
  • このサイトの更新を停止いたします。詳細は「更新停止します」の記事に書いてありますのでそちらをご覧ください。
    日記サイトpi:s、WordPressのカスタマイズをメモしておく
    WPカスタマイズ備忘録はこっそり更新していきます(`・ω・´)
    今までありがとうございました。-りぃ-
blog status
  • 利用中サーバー
  •  エックスサーバー
  • 利用中ドメイン登録代行サービス
  •  VALUE-DOMAIN

  • 記事数 : 52
  • コメント数 : 207
  • トラックバック数 : 53
  • カウンターカウンター
    カウンターカウンター カウンターカウンター
  • お気に入りに追加
  • track feed