2008年7月の アーカイブ

ブログ革命(プチ)2のものを、プラグイン化できましたヽ(・∀・)ノ よくやった俺

JustListと命名

JustListプラグインを使用することで、WordPressに「指定記事を含む各種リストのページへ飛べる」機能を追加できます。例えば、検索エンジン等から単体記事に辿り着いたとします。前後の記事も見たくなりますよね?しかし、標準機能では前後1記事ずつしか辿れません。「リスト」には飛べないのです。

ソース

これでコアファイルを書き換える必要がなくなったぞ(*゚∀゚)=3
wordpress2.6でしか確認しておりませんが、多分2.5.1でも動くと思います。
※追記2.6.1も無変更で動きました

<!--p
/*
Plugin Name: JustList
Plugin URI: http://www.denkasi.com/blog/
Feed URI: http://www.denkasi.com/blog/
Description: 指定記事を含むリストを表示します。
Version: 0.0
Author: toaruR
Author URI: http://www.denkasi.com/blog/
*/

$pagewith_where;
$pagewith_join;

function pagewith_posts_where_request($where) {
	global $pagewith_where;
	$pagewith_where = $where;
	return $where;
}
function pagewith_posts_join_request($join) {
	global $pagewith_join;
	$pagewith_join = $join;
	return $join;
}

function pagewith_post_limits_request($limits) {
	global $wpdb,$paged,$pagewith_where,$pagewith_join;
	if (!$_GET['paged']) {
		$pagewith = ereg_replace('[^0-9]+','',$_GET['pagewith']); //ごみを取る
		if ($pagewith) {
			$pagewithby = "AND wp_posts.ID>$pagewith";
			$postCounter = (int) $wpd-->get_var("SELECT COUNT(*) FROM $wpdb-&gt;posts $pagewith_join WHERE 1=1 $pagewith_where $pagewithby");
			//$paged $limit作り直し
			$posts_per_page = get_option('posts_per_page');
			$paged = floor( $postCounter / $posts_per_page ) + 1;
			$pgstrt = ($paged -1) * $posts_per_page;
			set_query_var('paged',$paged);
			$limits = 'LIMIT '.$pgstrt.','.$posts_per_page;
		}
	}
	return $limits;
}

add_action('posts_where_request','pagewith_posts_where_request');
add_action('posts_join_request','pagewith_posts_join_request');
add_action('post_limits_request','pagewith_post_limits_request');

/* pagewith リンクの調整 */
function pagewith_remove_pagenum_link($result) {
	$result = preg_replace('/(\?|\&amp;)pagewith=\d*/','',$result);
	$result = str_replace('/&amp;','/?',$result);
	return $result;
}

add_action('get_pagenum_link','pagewith_remove_pagenum_link');

?>

課題

まだ、そのリストへのリンクを楽に取得できるタグを作っておりません。
従って、実装はスキン(たとえば single.php)に
<?php bloginfo(’url’); ?>/?pagewith=<?php the_ID(); ?>#post-<?php the_ID(); ?>”>[全体]</a>
等と記述せねばなりません。
また、URLが orderby=rand 等の引数を持つ場合は無効となります。

使用例

今回の拡張で、リストURLに「pagewith=ポストID」を付加することで、ポストIDの記事を含むページが自動的に選択されます。
たとえば、本ブログの87番記事の場合。(なお、この記事への通常のリンクは http://www.denkasi.com/blog/?p=87 です。)

全時系列リストの87番記事を含むページへは

http://www.denkasi.com/blog/?pagewith=87#post-87
との記述になり、(本記事を書いている現在は)8ページ目へ飛びます。

同カテゴリリストの87番記事を含むページへは

http://www.denkasi.com/blog/?cat=20&pagewith=87#post-87
との記述になり、4ページ目へ飛びます。

2008年5月のアーカイブリストの87番記事を含むページへは

http://www.denkasi.com/blog/?m=200805&pagewith=87#post-87
との記述になり、2ページ目へ飛びます。

語句’IE’で検索した結果リストの87番記事を含むページへは

http://www.denkasi.com/blog/?s=IE&pagewith=87#post-87
との記述になり、2ページ目へ飛びます。

実装はテーマ(スキン)次第となりますが、87番記事単体ページに、色々付加することで、直感的なナビゲーションが構築できるはずです。

※Macだと(FireFox3、Safari3で確認)パーマリンクを設定している場合 #post-87 の部分がキャンセルされてしまうようです。

コメント (1)

トラックバック URL :

ページトップへ

近所の花火大会

[日常] 2008年7月30日(水曜日) 22:33

今日は、我が子にとって生まれて2度目の花火。
去年はまだ腰も据わっておらず、音にびっくりして半ば怯え、楽しんで見られる余裕はとても有りませんでした。しかし、流石に1歳を超えるとしっかり観ますね。最初こそ音に警戒していましたが、即釘付けに。

残念ながら家のベランダからでは上の方しか観られません(ノ∀`)思い切って外に出て観る事にしました。
幸い花火の時間は19時~21時となかなかあります。ここは余裕を持って徒歩。流石に会場までは遠いのですが、ソコソコ観られるところはあちらこちらにありました。

子供の睡眠時刻を考えると、最後までじっくり……ともいきません。また、ソコソコのところを見つけても、もっと良いところがあるんじゃなかろうかと移動してしまう性分(ノ∀`)
今年は、来年の場所探しと半ば割り切り、小一時間のお散歩となりました。

ああ、屋上でビールを飲みながら満天の花火を鑑賞できる家に住みたい(*゚∀゚)=3

コメント (0)

トラックバック URL :

2カラムにしてみました。
最大の変更点はカレンダー削除。
ブログにおけるカレンダーの意義は、

  1. 時系列アーカイブをたどるナビゲーション
  2. 更新有無の可視化
  3. 日々更新のちょっとした励み

こんな感じでしょうか。なんか大事な役割を忘れている気もしますが。
1に関しては記事からリストへ飛べるインターフェイスを導入したのでもはや不要です。2,3に関しては「カウンタ」のようなものを感じます。人様はほとんど気にしていない……みたいな。

本文エリアが広がり「コード」部もそこそこ読みやすくなりました(・∀・)

コメント (0)

トラックバック URL :

ページトップへ

Mac用CSS

[技術メモ] 2008年7月28日(月曜日) 21:23

Safari3がむしろ正常だったのか

Mac用css実装 の際は、「MacだとSafari3だけフォントが大きくなる」と理解していました。これは逆で、Safari3が正常だったのですね。
Winに比べてMacのFireFox2やSafari2あたりは、若干小さく表示されていました。それで「Macならちょっと拡大」をMac用cssのデフォルトにしていた為、Safari3のフォントサイズが大きくなってしまっていたのです。

FireFoxもいつの間にか追従

近頃3になったFireFoxも、Safari3と同じ表示サイズとなっていました(ノ∀`)
つまり、WinとMacのフォントサイズ差はいつの間にか(笑)ほとんど無くなっていたのです。

フォントサイズ補正はやめた

MacのFireFox2は切り捨てちゃいます(・∀・)場合分けとか面倒くさいですし。
ついでに私はIE5.5もとっくに切り捨てております。(セキュリティ的に更新終了になったブラウザを推奨すべきではないと考え。逃げてません、逃げてませんとも)

なにやら、Vistaの出来が良くないせいか、Macのシェアが上がっているとか……
Macチェックも、ケータイサイトよりはマシと割り切ります(ノ∀`)

コメント (0)

トラックバック URL :

停電の翌々日

散歩で表に出たら際にNTTの車両と工事担当者を発見。あれ?今日の工事はキャンセルしたはずなのに……と思い質問。
マンションの不具合の場合、各戸から依頼が入るので、早かった予約に合わせて全体を作業してしまうとの事。共用部の調整作業は土曜の14時頃行ったが、本日は各戸を回り様子を聞いてらっしゃるのだとか。
なるほど。それでいつの間にか直っていたのか。

今日の夕立は金曜以上

今日も激しい夕立がやって参りました((((゜д゜;))))
稲光は回線に不具合が出た金曜のそれ以上。瞬間停電も2回あり、またなのか!またなのかぁ!!!と怯えておりました。
結果的には、停電の際に切れはしたもののアッサリと再接続で問題なし。
小一時間で雨雲は遠方に流されていきました。夕立とは何かが違う気もしますが、ふと外を見てみると夕焼けに二重の虹が(*´д`*)

夕焼けの虹

コメント (0)

トラックバック URL :

ページトップへ

停電の影響

[日常] 2008年7月26日(土曜日) 18:50

雷ゴロゴロ

金曜日、久々の夕立。
雨も落ち着いた頃、携帯に仕事の電話が。その中で「固定電話が繋がらないよー」と知らされました。機材諸々お約束の再起動をしてみるも利用不可。
雨は非常に有りがたかったのですが、雷が鳴りまくった際の瞬間停電で、光回線が不調になってしまった模様(ノ∀`)

モデムが壊れた!?

早速、NTTに調べてもらったところ、マンションの共用施設に問題は無いようで、室内のモデムかルータが原因とのこと。
うーむ、何度か再起動もしたしルータとしては普通に動いてるし……となるとモデムが悪いのかなぁ?考えても仕方ないので工事の予約をすることに。

ええ!?3日以上!?(;゜д゜)

なにやら、市内各地で停電が起こったらしく、復旧部隊もてんやわんやのご様子。家に来るのは月曜日になってしまうとのこと。土日は休めても流石に月曜日はそうもいきません。ネットだけであればバックアップ回線で何とかならなくもないのですが……なにせ家は光電話。流石に3日以上電話が繋がらないとなると信用問題にも。
流石に無理を言って、日曜日には工事をして貰えることになりました。
しかしそれでも2日後。電話の復旧に2日以上かかるって、どんだけ山奥なんだよ(ノ∀`)

結局土曜にいつの間にか復旧

土曜はオフラインを決め込んで片道2時間程度のドライブに(*゚∀゚)=3ムッハー!
5時過ぎに家に戻ると……あれ!?ネットが繋がってる(・ω・)
どれどれ、果たして電話もちゃんとかかる(・ω・)
接触が悪いとも思えず、土曜14:13 原因不明の復旧。釈然としませんが、早期復旧に勝る結果はなし(ノ∀`)
早速、NTTに工事キャンセルの電話をしました。

コメント (0)

トラックバック URL :

ページトップへ

今年は家族で帰省

[日常] 2008年7月24日(木曜日) 22:05

子供も1歳を過ぎ、2時間程度の移動にも大分慣れてきました。今年の夏はいよいよ帰省です。
新幹線を使って片道3時間ほどでしょうか。
JR東日本:きっぷに関するご案内によると、「2人以下の6歳未満が、全員大人の膝の上」であればどうやら子供分は無料のようです。
座席探訪 400系山形新幹線つばさによると、11号車にオムツ替えもできそうなスペースが。

新幹線って、切符買うの難しいですよね(ノ∀`)

コメント (0)

トラックバック URL :

ATOKも3日目。
windows IME から乗り換えた身ですが、ほとんど違和感がありません。今日のところは、2点だけ。

[029378]同じキーを連続して押すと、「っ」が先頭に表示されるのカスタマイズはやっぱり必須でしょうか(ノ∀`)いえ、wwwなんてそんなに打ちませんよwww

もう一つどうにかカスタマイズしたい点が。未確定のまま IME を OFF にした際に、入力中の文字を消し去ってしまいたいのですが、そのやり方は見つからず……

コメント (0)

トラックバック URL :