蒼い空のネオスフィア 公式ページオープン
重い、重いよくまさんチーム。
発売日は2005年春か。5月までに出ればいいほうか。
Info
2005
0119
目次
今まで0.92だったんで2.0に。先日単体記事のHTML化に成功したので、RSSで表示されるリンクもHTMLを表示するようにした。
WordPressのRSSには、記事内容をある程度までしかRSSに表示しないように設定されているのだが、その部分のソースを見ると
$excerpt = '';
$blah = explode(' ', $output);
...
というようにexplode関数に半角スペースが渡されているので、記事内容を見て、半角で区切っていって適当なところでぶつ切りにしているのだが、半角スペースなんぞほとんど入らないような日本語メインの記事だとこれは無効になる。そこで、
if( count( $blah ) > 2 ) {
$output = $blah[0] . '……▽';
}
else {
$output = $blah[0] . '。';
}
分割した後をこんな感じに修正して、最初の句点まで表示するようにした。句点が1個しかない場合はそのままだ。ちなみに、explodeで分割すると、分割に判断した文字は消えるので補う必要がある。
これでRSSにやたらと長い記事内容が載ることが無くなって安心と思ったら、記事の投稿時間にGMT修正時間が設定されていないことに気付く。RSSを出力する部分のソースを見てみると「'D, d M Y H:i:s +0000'」という、GMT修正時間が直接指定されててズッコケる。オプションでGMT修正時間を設定できるのは一体なんなんだ・・・
というわけで、RSSから記事投稿時間を取得しているmysql2date関数の最後部分に
$gmt = sprintf( "%02d00", get_settings('gmt_offset') );
$j .= ' +' . $gmt;
こげな感じで設定しているGMT修正時間を付け加えるようにした。あとは不必要なデータ、カテゴリとかコメントとかをRSSから削って作業完了。
記事単体に投稿時間が設定されたので、投稿した後で記事を修正した場合に、RSSリーダーに余計なデータを残す必要が無くなったはず。
Info
2005
0119
WordPressの静的生成をまだまだがんばってみた。
今までは月間ログだけHTML化してたので、こうなったら個別ログもカテゴリも静的生成してやるぜー。と意気込んでスクリプトを作ってみた。
このスクリプトを使用すると、指定した範囲の月間ログ、個別ログ、カテゴリログをHTMlとして生成することができるようになる。過去全ての記事を一つずつHTML化なんてのも勿論可能。
使い方は、まずこのスクリプトの上部にある、ログを保存するディレクトリとそれぞれのログタイプに準じたテンプレートファイルを指定する。ディレクトリは属性を777とかにして書き込めるようにしておく。テンプレートファイルはindex.phpで使用しているものでも大丈夫・・・かも。ここらへんは各自合った物を。
次に、wp-admin/menu.phpを開いて、配列の一番最後に
array("ログ生成", 0, 'makestatic.php')
を挿入する。前の要素の最後にセミコロンを入れるのを忘れずに。これでWordPressの編集画面にログ生成というメニューが表示されるようになる。
あとはwp-adminフォルダに上記スクリプトをmakestatic.phpをいう名前でアップロードすれば準備は完了。アクセスして生成する範囲を指定すれば、ログが生成される。
大量にログを生成する時は処理能力を結構必要とするので、少しずつ作成するか早朝に行うなどしてサーバーへの負担を軽くするのが吉。レンタルだったらなおさら。
で、早速記事の最後に記事単体へのリンクを表示するようにしてみた。一応カテゴリも生成してはいるのだが、まだページ分割機能を搭載していないので、搭載したらカテゴリもHTMLを表示させることにしよう。
Info
2005
0118
フリーのオフィス統合環境「OpenOffice.org」がv1.1.4にバージョンアップ
Excel代わりにこっち使ってるけど、一番目立つのは起動と保存の遅さだな。それ以外は概ね良好。
Info
2005
0118
「まほらば」と「まぶらほ」と「マヴラヴ」と「ラブひな」と「ネギま」の違いを教えてください。
笑った。
Info
2005
0118
昨日の「編集時にカテゴリで記事を表示する」で、配列添字を変数名にする方法を書いたが、全く同じ動作をする関数が既に用意されていた。
こっちのほうが行数少ない上にプレフィックスまで付けられる。
や、確かにソースが綺麗になって嬉しいんだが、なにこの敗北感は。
Info
2005
0118
改めて見てもやっぱりガレッガだな。ガレッガ目指してるけど、蓋を開けたらバトルバクレイドになってそうな予感も。
相変わらずストーリーが・・・まあ、これがケイブっちゃあケイブなんだが。
Info
2005
0117
ソウルハッカーズのデータベースをMYSQLで操作してHTMLを生成しているんだが、MYSQLからデータを受け取ると、添字無しの配列、カラム名が添字の連想配列、両方の3種類の方法で取得できるんだが、よっぽどのことが無い限り後者2つのどちらかで取得する。
| NAME | RACE | LV |
|---|---|---|
| モト | 死神 | 72 |
| ミトラス | 魔王 | 80 |
| メタトロン | 大天使 | 80 |
こんな感じにデータベースに登録されているとする。これをPHPからSQLコマンドを入れて取得すると、一体分のデータが
( "NAME" => "モト", "RACE" => "死神", "LV" => 72 )
こんな感じに渡される。これを使う場合には、「$array['NAME']」や「$array['RACE']」などといった方法で呼び出す。
ここまではいいんだが、実際には扱っているカラム数が数十に上る。そして、編集し易さを重視するためにHTMLタグをヒアドキュメントを利用して出力しているのだが、添字付きの変数を2重引用符内やヒアドキュメント中で呼び出す場合は「{」と「}」で囲まなければいけない。ただでさえ添字付きなので非常に冗長になる。
そこでそれを回避するべく
$NAME = $array['NAME'];
$RACE = $array['RACE'];
$LV = $array['LV'];
…
といったように、ずら~~~~~っと変数を作成していたわけだが、WordPressのソースを眺めてたら以外な方法でこれが解決されていた。
$varstoreset = array_keys( $array );
foreach( $varstoreset as $var ) {
$$var = $array[$var];
}
これだけ。このたった3行で上の変数再指定を全てカットできるようになる。
配列の添字を全て取得する。foreachで回して、$添字という変数を作成してデータを挿入。やってることはこれだけなんだが、そもそも「$$varと記述して、$varが文字列なら$文字列という変数を呼び出せる」こと自体全く知らなかったので、目から鱗というか。マニュアルに載ってたか? こんな方法。
Info
2005
0117
あんまり必要ないかなーと思っていたけど、カテゴリの整理をしてたら必要になったんでサクっと作成。
一番下のbrなんちゃらってのが、wp-admin/edit.phpの80行目あたりにあったと思うので、そこにこのスクリプトを挿入するだけ。非常にお手軽。表示幅が気になる人はmarginの値を適当に弄ればOK。
作成し終わったあと、なんでこんなのがデフォルトで入ってないのかな~と思ったが、もしかしたら最新版にはもう入ってたりするのかね? 誤作動+修正するのが嫌なんで、そこまで重要な更新じゃなきゃ現状維持にするつもりなんだが。・・・でもまあ、いつ更新するかわからんから、今度から修正箇所をメモっておいて、スムーズに以降できるようにしとくか。
Info
2005
0116