静的ページ用ページ分割プラグイン:PageBute
これを使ってページ分割をしていたのだけど、アーカイブページはちゃんと分割されるのに、メインページはどうやっても10件以上の分割ができない。というか、10件以上は表示してくれないのだ。
メインページとブログ記事のリストのソースは全く同じなのに、何でだろうとすごくすごく悩んで、
スカイアークさんにコメントで質問まで出して回答を待っていた。
そこで出会った、このページ!
このページの一番最後に
とかいてあるではありませんか。ブログの設定「ブログ記事の表示数」を[0]にする
サイトを再構築する前に、上記設定を確認しておく必要があります。(私はこれでつまづきました)
数値が入っていると、正しく投稿数を取得出来ないので、私のように「あれっ!」と何度も見直すハメになります。
[0]にすることで、無制限の設定と思われます。
即実行してみると、ちゃんと10件以上表示されました。
あーよかった。
これを、php化したMT4でやってみました。
エントリー時に終了日時をあらかじめ入れておきます。
アクセスした時に、これを過ぎていれば終了と表示を出すことにします。
終了日時はカスタムフィールドで記入するようにします。
今回は時間はなしで、簡単に年月日だけで比較することにします。
設定を日付と時間にしたんですが、こうするとformat="%Y%m%dなどが効かないので、
表示は2008年8月15日というようになってしまうため、日付の比較ができません。
(実はこれがわからずかなり悩んだ)
テキストにして20080815などと入れてもらってもかまわないのですが
それじゃあんまりなので、ちょっと面倒ですがドロップダウンを使用しました。
年、月、日ごとにカスタムフィールドを設定します。
月日は全部二桁で01、02とします。
各フィールド名をDateY、DateM、DateDとします。
<?php
$enddate = ('<$MTDateY$><$MTDateM$><$MTDateD$>'); //申込終了日時を取得
$today = date(Ymd); // 今日の日付を取得
if( $enddate >= $today )
print <<< EOD
終了前に表示したい内容
ここはインデントしないで
ここはインデントしないで
EOD;
}
else {
{
print <<< EOD
終了後に表示したい内容
ここはインデントしないで
ここはインデントしないで
EOD;
}
?>
このような感じです。
一応説明をば。
$enddate = ('<$MTDateY$><$MTDateM$><$MTDateD$>');
$enddateという変数に終了の年月日を入れています。
終了年月日=20080815
$today = date(Ymd);
今日の日付をdate関数で取得しています。Ymdで年月日を取得
今日=20080817
if( $enddate >= $today )
20080815と20080817どちらが大きいかを比較しています。
この場合、今日の日付の方が大きいのでelse以下、つまり終了後の
内容を表示するということになります。
もし、終了日と今日の日付が同じ場合は終了後の表示になります。
同じ場合は終了前にしたいときは「>=」の部分を「>」だけにしてください。
表示したい内容が短いものの場合は
print <<< EOD
終了前に表示したい内容
ここはインデントしないで
ここはインデントしないで
EOD;
ここを
print "短い文章";
としてもOKです。
ちなみに「ここはインデントしないで」の理由などは
http://nyx.pu1.net/reference/basic/character.html
なんかを見るとわかりやすいと思います。
これであってるよな......と、心配で何度も読み返す。
MT4に新設されたカスタムフィールドですが、普通は
<MTIfNonEmpty tag="EntryData">というわけで、
カスタムフィールドの名前: <MTEntryData>
</MTIfNonEmpty>
としますが、これだと、チェックボックスの場合は
チェックしていてもしなくても表示されてしまうのでどうしてだろうと思っていたら、
チェックボックスに関しては、チェックされている時「1」を表示し、
チェックされていないとき「0」を表示するんですね。
<MTIfNonZero tag="EntryData">
表示させたいもの
</MTIfNonZero>
となるわけです。
ちなみに、ラジオボタンやドロップダウンの場合はオプションが出るので
そこに項目を書いていけばいいのですが、チェックボックスの場合は
説明の部分に書いたことが、チェックボックスの横に表示されます。
というのもずっと悩んでいた問題が、紹介していただいたプラグインであっさり解決してしまったからです。
悩んでいたのは、WordPressでカテゴリごとに違うアーカイブを作りたかったんですね。
Aというカテゴリのアーカイブを取得したときには、Aカテゴリに属する記事だけというようにしたかったのですが、そのようなタグはないし、コンディショナルタグを組み合わせてみたものの、どうやってもできません。
どうやらこれはできないかもしれないと思っていたら、やはりできないですよと天の声が。
あきらめてお客案に伝えようと思っていたら、プラグインを紹介してもらったのです。
Archives_for_a_category
1,このプラグインをダウンロード
2,解凍して、kwebble_archives_by_cat.phpプラグインフォルダにいれて、有効化。
あとは表示したいところに下記のタグを入れます。
<?php wp_get_archives('cat=1'); ?>
カテゴリIDが1の月別アーカイブリンクを取得。
<?php wp_get_archives('cat=1,3'); ?>
カテゴリID1と3の月別アーカイブリンクを取得。
<?php wp_get_archives('format=option&cat=1'); ?>
これはドロップダウン形式でのリストを生成します。
引数に関してはwp_get_archives().と同じものが使えるみたいです。
ベータ版の時より早くなったような気がしますが、使えるアドオンが少ないというのはちょっと困る。
2も共存させているのでそっちつかえばって話なのですけど、せっかくだから新しいの使いたいし、いちいち面倒じゃんねぇ。
同時に起動させる方法もあるようですが、それもねぇ。
早く対応してくれるのを待つのみです。
Firefoxの灯が気に入りました。キラキラしててきれーです。
あ、ここに書くの忘れましたが、何度も調子が悪くなったと書いていたこのマシン。
実は先月末に入院。金曜日に入院して日曜日にかえってくるというスピード入院。
HDD交換してすっきり。もう、問題起こるなよ。
対応機種にiMacもMacBookも入っていませんでしたが、大丈夫だろうという安易な考えのもと購入。
保証対象外という他の温度計に比べると少し高めながらも表示されましたが、スロットが全滅の模様。
なんだよー。HUBも使えないっぽい。Parallelsを立ち上げてみましたが、そっちでも認識されないようです。
がっかりですが、計算機を探す手間が省けるってことでまぁよしとしましょう。リストレストもいい感じだし。
やっぱり怪しさ満載でした。
いろいろお試し中なので、これも入れてみました。
確かに早くなった。
まだBeta版なので2と同居。
同居のさせ方はすごく簡単です。Macはターミナルを使うのでドキドキするかもしれませんが、
ここに書いてあるとおりコピペするだけ。
次からの起動は面倒なことはもうありません。
Firefox 3 Beta 5のなかのFirefoxをクリックするだけ。
最初にどのプロファイルを使うか聞いてくると思うので、新たに作成したBetaを
選択することにだけ注意。
ここ何日かSafari3を使ってみて確かにすごく早いけど、やっぱりいろいろ不都合が。
でも併用するのはちょっと面倒。
これはまだBeta版ってことでアドオンが使えないのが多いらしい。でもそれじゃ
やっぱり意味がないんだよねー。
はやく正式版が出ることを祈るのみです。
私はIMにAdiumを使っています。
でも、これのほかにもskypeやらTwitterやらいろいろとチェックしたいものがあります。
そこで今更って感もあるんでしょうが使い始めたのが『imified』。
『imified』はメッセンジャーサービス上でいろいろなものが使えるサービスです。
AdiumにはSkypeのプラグインがあることもわかったのでそちらもいれました。
これで、MSNの複数アカウント、gTalk、Skype、Twitterのチェックが同時に行えるようになりました。
Growlにも対応しているので便利です。
『imified』はMTやWP、あれこれ投稿もできるんですが、日本語が使えない。
そして文字化けして読めないのです。
「Remember the Milk」も復活させたのですがもう化け化け。
日本語が通れば最高なのに。
とりあえず、両方がしがし使えるようにしてみましょうか。
またもやiMac不調につき初期化&再インストール。
月末になったら入院させようかと本気で考えています。
ということで覚え書き。ただ今進行中につき、随時追加。
便利モノ
Growl
AllBookmarks
ClamXav
Mailplane
Safari用
