概要
まだ名前をつけていないのですが、以下のコードを挿入することで、WordPressに「指定記事を含む各種リストのページへ飛べる」機能を追加できます。例えば、検索エンジン等から単体記事に辿り着いたとします。前後の記事も見たくなりますよね?しかし、標準機能では前後1記事ずつしか辿れません。「リスト」には飛べないのです。

ちょこっと改良
ブログ革命(プチ)のコードがちょこっとだけまともに。
(追記 後日プラグイン化できました )
コアファイルを直接書き換えている点はまだそのまま(ノ∀`)ですが、
記事などから自由に飛べるリストの種類が強化されました。(なーんて、SQL文をちょこっと削っただけですが)
全時系列リストに加え、カテゴリー別リストやアーカイブリスト、検索結果リスト等に飛べるようになりました。
飛びたいリストのURLに「pagewith=ポストID」を付加するだけで、その記事が含まれるリストのページに飛びます。
wordpress 2.5.1
query.php の1426行目に以下を挿入
※追記 WordPress2.6 では 1447行目
//rtype
//paged定が無くpagewith指定があれば
if (!$_GET['paged']) {
$pagewith = ereg_replace('[^0-9]+','',$_GET['pagewith']); //ごみを取る
if ($pagewith) {
$pagewithby = "AND wp_posts.ID>$pagewith";
$prerequest = " SELECT COUNT(*) as postCounter FROM $wpdb->posts $join WHERE 1=1 $where $pagewithby $orderby";
$this->prerequest = apply_filters('post_counter_request', $prerequest);
$this->postposition = $wpdb->get_results($this->prerequest);
//$paged $limit作り直し
$paged = floor( $this->postposition[0]->postCounter / $q['posts_per_page'] ) + 1;
$pgstrt = ($paged -1) * $q['posts_per_page'];
$q['paged'] = $paged;
$limits = 'LIMIT '.$pgstrt.','.$q['posts_per_page'];
}
}
同、link-template.php の611行目に以下を挿入
※追記 WordPress2.6 では 624行目
なお、コレは前回と全く同じコード
$request = remove_query_arg( 'pagewith' );
これで、後はスキン側でインターフェイスを用意するだけで、理想的なナビゲーションに加工できるはずですヽ(・∀・)ノ
使用例
今回の拡張で、リストURLに「pagewith=ポストID」を付加することで、ポストIDの記事を含むページが自動的に選択されます。
たとえば、本ブログの87番記事の場合。(なお、この記事への通常のリンクは http://www.denkasi.com/blog/?p=87 です。)
全時系列リストの87番記事を含むページへは
http://www.denkasi.com/blog/?pagewith=87#post-87
との記述になり、(本記事を書いている現在は)6ページ目へ飛びます。
同カテゴリリストの87番記事を含むページへは
http://www.denkasi.com/blog/?cat=20&pagewith=87#post-87
との記述になり、3ページ目へ飛びます。
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 の部分がキャンセルされてしまうようです。
トラックバック URL :
ピンバック by 近頃の、とあるR。 » ちょwWordpPress2.6ですかwww 2008 年 7 月 15 日 21:49
[...] って、近頃、コアファイルを書き換えたじゃありませんか!(ノ∀`) 似たような機能が標準で載っているかもしれませんが、何も考えず、似たような箇所を書き換えました(*゚∀゚)=3 一 [...]
ピンバック by 近頃の、とあるR。 » 3カラムから2カラムへ 2008 年 7 月 29 日 19:44
[...] しょうか。なんか大事な役割を忘れている気もしますが。 1に関しては記事からリストへ飛べるインターフェイスを導入したのでもはや不要です。2,3に関してはカウンタのようなも [...]
ピンバック by 近頃の、とあるR。 » JustList - 指定記事を含むリストを表示するプラグイン 2008 年 7 月 31 日 20:45
[...] ブログ革命(プチ)2のものを、プラグイン化できましたヽ(・∀・)ノ よくやった俺 [...]