trim_to="N"を使いたかったんだけど...
このサイトの各カテゴリアーカイブのページが長すぎだなーというのは前から感じていたわけだけど、ページ分割のプラグインを入れてみても何かうまくいかない(単に何かミスってるだけだと思う)状態で、分割ではない何かいい手を捜していた所でMTのタグの属性の『trim_to』というのを発見。
自分がやりたかったのはこういう事。
各カテゴリアーカイブのページで、今まで本文をズラズラーと並べていた部分を<$MTEntryExcerpt$>に『trim_to』属性をつけて文字数指定で本文の一部だけを表示して残りは続きを読むにできないものか、と。
自分はエントリ投稿する時に「概要」は全然指定していないので、上の指定をすれば本文の頭から指定した文字数だけサクっと表示されると思っていたのだが・・・どうもうまくいかない。<$MTEntryExcerpt$>には『trim_to』はつけられないのか、とここで気づく。
で、今度はどうしたの?
<$MTEntryBody$>に『trim_to』を指定すると任意の文字数だけが表示できた。成功!と思いきや、この指定した文字列内にstrongタグの開始タグだけ入ってる場合とかそのエントリ以降ずーーーって全部太字になってるという始末。これはあかん。やめておく。
んじゃやっぱり<$MTEntryExcerpt$>を使おうということで、次に<$MTEntryExcerpt$>で表示する文字数を管理画面で再設定。「設定 > 全般 > 概要にいれる文字数」で任意の文字数を指定。これなら『trim_to』を指定しなくてもうまくいった。
結果的なソース、これ。
<h2 class="tit_enrty">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</h2>
<p><$MTEntryExcerpt$></p>
<p><a href="<$MTEntryPermalink$>">>>「<$MTEntryTitle$>」の続きを読む...</a></p>
※<$MTEntryExcerpt$>で表示する文字数は、
管理画面の「設定 > 全般 > 概要にいれる文字数」で指定。
次の問題はmetaのdescriptionですよ
<$MTEntryExcerpt$>を入れた部分に「設定 > 全般 > 概要にいれる文字数」で指定した文字数が入ってしまうということはmetaのdescription部分はどうしましょうかと。trim_toが効かないのは実験済み。かといって上で指定したカテゴリアーカイブ想定の文字数では長すぎる。
ということでエントリーアーカイブのdescriptionには<$MTEntryBody$>で『trim_to』を使おうと考え付いたわけだが、ここでもまたややこしい事が。投稿した内容にテキストだけじゃなくてタグまでもれなくついてくる事態発生。これは嫌だー。
というわけで次に目をつけたのが<$MTEntryBody$>のwords属性。words="N"とすればN語だけ表示されると書いてあったのでこれならタグ、ついてこないだろう。「語」やし。「文字」ではないし。
<meta name="description" content="<$MTEntryBody words="40"$>" />
で、やってみるとうまくいった。本文の頭の40文字程度だけちゃんとdescription内に表示されてる模様。耐えた。ついでにカテゴリページは表示待ちの時間を少しでも短くするために下の折りたたみ部分カット。
ていうか、上のやり方、逆にすりゃよかったんだな。多分。カテゴリアーカイブに表示される方にMTEntryBodyのwords="xxx"を入れればよかっただけじゃねーのか。。。バカ私。
(070330:追記)
zcxv.netさんからトラックバックを頂き、上で書いた最初にやりたい事として考えた『MTEntryExcerpt trim_to="n"』の代替方法として『MTEntryBody remove_html="1" trim_to="n"』でいけますよ、と教えていただけました。
また、MTEntryExcerptにtrim_toが付けられないなんて寝言を書いてましたが、MT 3.34では大丈夫だそうです。(つーか、ここも3.34なんだけど)ただ、デフォルトではremove_htmlがtrueなのでそこんとこ変更すればよかったんですね。奥深すぎて付いていくのに必死です(汗)頑張ります。
<< カテゴリ内の前後エントリへリンク | MT管理画面ではてブ数を表示させる >>
トラックバック
このエントリーのトラックバックURL:
http://redline.hippy.jp/cgi/mt/mt-tb.cgi/127
trim_to="N"を使いたかったんだけど... へのトラックバック一覧
» trim_to などのグローバルタグアトリビュートを使うときの豆知識 送信元 Scribble - zcxv.net
MT のグローバル・タグ・アトリビュートを使うときは、記述する順番に気をつけると期待通りの動作が得られますよ、ということ。
Trackback time : 2007.03.30