技術メモ カテゴリー

web系技術メモ

ATOK 3日目wwwwww

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

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

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

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

コメントは受け付けていません。

よくよく考えてみれば、古いまま使っても良かった気もします。
とは言え、バージョンアップしてしまった以上は、調整せねばなりません(ノ∀`)

リビジョン管理を無効に

特に深い事情があるわけではないのですが、なんとなく、DBが重くなりそうな気がして怖いので、無効にしてしまいます。
WordPress2.6のリビジョン管理を無効にする方法 に習いました。いやはやなんとも有り難い事です。

My Category Order

カテゴリの並び順を変えるプラグインです。
このプラグインは、コアファイルの一部(taxonomy.php)を差し替えて使用するのですが、2.6用のバージョンアップがまだ来ていません。どうも、2.6 のtaxonomy.php 自体、細かいバグがあるようで、そのFIXを待っているのかなぁ等と勝手に想像。
とりあえず、taxonomy.php の612行目以下のif分を コレに差し替えて正式対応までお茶を濁してみます。

	if ( 'count' == $orderby )
		$orderby = 'tt.count';
	else if ( 'name' == $orderby )
		$orderby = 't.name';
	else if ( 'slug' == $orderby )
		$orderby = 't.slug';
	else if ( 'term_group' == $orderby )
		$orderby = 't.term_group';
	else if ( 'order' == $orderby )
		$orderby = 't.term_order';
	else
		$orderby = 't.term_id';

コメントは受け付けていません。

そのまま上書き→管理画面で指示に従いボタンを押す
でアッサリバージョンアップ完了。
更新内容は地味と言えば地味。

流石に、コアファイルを差し替えているプラグインのMy Category Orderは、動作が反映されませんね。自分で精査するのも面倒くさいので、更新を待つとします。というか、カテゴリの表示順変更機能なんて標準で搭載しやがれです。

って、近頃、私もコアファイルを書き換えたじゃありませんか!(ノ∀`)
似たような機能が標準で載っているかもしれませんが、何も考えず、似たような箇所を書き換えました(*゚∀゚)=3
一応、意図通りに動いているようです……が精査しておりませんので応急処置と言ったところでしょうか。

コメントは受け付けていません。

概要

まだ名前をつけていないのですが、以下のコードを挿入することで、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 の部分がキャンセルされてしまうようです。

Comments (3)

Vista ファイルコピー 遅いでググっても古い情報ばかりなのですよねぇ。ひょっとしたら家の設定に問題があるのでしょうか(´・ω・`)

作業フォルダくらいは頻繁にバックアップをしておきたいところ。20Gでファイル数は13万くらいでしょうか。コーダの性で細かいファイルが多いです。
しかししかし、大した容量でもないのに、コピーが異常に遅い(・ω・)上書きなどしようなら、大量のダイアログに襲われます。Vista最大の不満点。

目的はバックアップですので、おとなしくVistaデフォルトのバックアップ機能を使ってみることにしました。
なかなかどうしてコレも結構なお時間が必要でしたよ(ノ∀`)ゆっくりお風呂に入ってお釣りがきました。

本件とは全く関係がありませんが、Vistaのsuperfetchは快適です……ってXPでも使えるんですよね(ノ∀`)XPの方も是非superfetchを試してみてください。

コメントは受け付けていません。

個人的にはブログインターフェイスの革命(ノ∀`)

記事の呼び出し方を増やしました。
特定の記事単体()だけではなく、特定記事を含む「リスト」()で呼び出せるようにしました。
こんなのがなぜ革命的かと言いますと、これで単体記事のページから、その記事を含むリストのページに行けるのです。最初にたどり着いたのが単体記事でも、そこから簡単に時系列リストの該当ページに行けるのです。
これで、単体記事から記事リストに飛びたい等で懸案だった、インターフェイスの一部が実装できました。

一覧へ

無理やり実装

とはいえ、SQLもPHPもwordpressもいまいち分かっていない私。
実装の内実は酷いものです・゚・(ノД`)・゚・

  • 戻れるのは全記事時系列一覧のみ(つまりカテゴリ無視)
  • コアファイルを直接書き換えている(つまりバージョン変更でお陀仏)

等々、まだまだ問題が山積。

実装方法(仮)

ここから進めるかどうかも怪しいですが(仮)と言わせてください(ノ∀`)

wordpressのバージョンは2.5.1
query.php の1426行目に以下を挿入

		//rtype
		//paged定が無くpagewith指定があれば
		if (!$_GET['paged']) {
			$pagewith = ereg_replace('[^0-9]+','',$_GET['pagewith']); //ごみを取る
			if ($pagewith) {
				$pagewithby = "and ID>$pagewith";
				$prerequest = " SELECT COUNT(*) as postCounter FROM $wpdb->posts $join WHERE 1=1 $where $pagewithby $groupby $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行目に以下を挿入

	$request = remove_query_arg( 'pagewith' );

後は、単体記事のスキン(single.php)のそれっぽいところから
<a href=”<?php bloginfo(‘url’); ?>/?pagewith=<?php the_ID(); ?>#post-<?php the_ID(); ?>”>等とリンク。

未消化の課題

  • カテゴリで抽出したリストに飛びたい
  • プラグイン化したい

とりあえず、この二つくらいは何とかしたいものです。
と言うか、どなたかやってくださいヽ(・∀・)ノ
と言うか、このくらいの機能、標準でつけやがれこのやろうです(笑)

Comments (1)

amazonリンクを張った投稿が楽になるプラグイン、WP-Amazon-ReloadedがバージョンアップしてJPに正式対応していました。
以前はちょこっと書き換えて使っていたのですが、これでその必要も無くなり安心安心。IE7でも問題なく動いてます。

コメントは受け付けていません。

ヘルプ – Amazon.co.jp アソシエイト・セントラル

アソシエイトメンバーが運営するWebサイトのアソシエイトリンクを通しての自己注文はお控えください。メンバー自身の注文に対して紹介料は支払われません。別のお客様用の商品、代理注文、または結果的にメンバーや友人、家族、知人の方が使用する商品なども、メンバーが運営するアソシエイトリンクから注文することはできません。

し…知りませんでした(ノ∀`)

コメントは受け付けていません。