[wp] 子テーマとリンクの並び替え

この blog で使わせて戴いてる Tarski がアップデート。
じゃあさっそくアップデートを、と思ったところが WordPress さん曰く「アップデートするとカスタマイズがクリアされるよ」。……わしは各種テンプレートファイルのあちこちを書き換えてるのでそれは面倒だなあ、と躊躇していると ――「だから子テーマ使えば?」

子テーマとは、別のテーマ(親テーマ)の機能を継承し、その機能にさらに機能を追加したりその機能を調整したりすることのできるテーマです。(略)テーマがアップデートされても子テーマの変更は保持されます。

そんなナイスな機能が WordPress にはあったのか! 至れり尽くせりですな!
てことでチキチキ子テーマ作り。テンプレートファイルそのものに変更があったときのことを考えてファイルの置き換えは最小限に。favicon や google-site-verification 埋め込みなど、今までプラグインや直書きでやってたことも functions.php で出来ることが判ったので基本そちらで。こりゃ便利だ。

あと WordPress のコメント設定には「名前とメールアドレスの入力を必須にする」しかなく「名前のみ」というのは出来ないのですが、これ何とかならないもんかいなと Web を見て回ったところこちらの記事を発見。これも functions.php に追加。てことで今までコメントにメールアドレスが必須だったけど要らなくなりました。

ところで Tarski 、CSS を一切改行しないで 1 行として書いてるんだけど、こうすると読み込み早いとかあるのかしら?

前も書いた通りわしん家のサーバはとても重いので、よそのサーバに JavaScript を読みに行くのは最小限にしておいた方が良かろうと BlogPeople のリンクリストを WordPress のリンク機能で置き換える実験。

まずリンクウィジェットをそのまま表示してみると、タイトルもカテゴリも名前順に整列。
探してみたものの並び替えの設定もない模様。
これではつまらないのでアレコレ。調べた結果、どうやら wp_list_bookmarks というタグがリンクに置き換わるらしく、これに適当な引数をつけてやればいいことが判明。
なので Executable PHP widget(ウィジェット内での php を実行可能にするプラグイン)を導入したのち、<?php wp_list_bookmarks('orderby=rating&category_orderby=slug&title_before=<h3>&title_after=</h3>'); ?> としてリンクを呼び出してみる。あらかじめ「評価」で擬似的に並びを設定。カテゴリも同様スラッグの頭に「01-」等を付けておく。これで思った通りの並びに! ミッションコンプリート!
これは「リンクを好きなように並び替えたい」という問いに対する回答として何点くらいの出来なのか気になるところです。

次なる問題はフィードとして出力される時間が GMT だってこと。
コアファイルを書き換えれば JST になるみたいだけどそれだとアップデートの度に書き換えなきゃだし、何か策はないか考え中。
とまあ、最近 WordPress いじりが楽しくてしょうがないわしなのです。

[Web] わしわしわし

この日は GCCX チャリティーイベントの様子を Ustream でずっと見ておりました。最初から最後まで。PC の前で正座して。ごめん正座はうそ。
さすが子どもの日。お子さん連れが多かったですな!
ていうか菅さん自身もお子さん連れてきてたし!
そのお子さん達の頭をわしわしする課長がたまらない!
それにしてもわしわし巧いなー……。わしのわしわしはあまり評判がよろしくないのです。なんかいつもするりと逃げられるのです。しかしわしはわしわししたいので捕まえて押さえつけて無理矢理わしわしするのです。うひひ。
……あ。親戚や友達や先輩のお子さんが相手です。見知らぬ通りすがりのお子さんにそんなことやってたら即通報されてわしは今頃ここにはいないでしょう。
時代か、わし自身の見てくれの問題かはさておきます。

ちょっと前のニュースですが、Yahoo! に買われて以降なんだか落ち目となってしまい、一時は閉鎖も噂されたソーシャルブックマークサービス Delicious の売却先が決まったそうで。

Delicious 、Web は見やすいんだけど Firefox 用アドオンの出来がイマイチ。なのでわしはずっと Google Bookmarks + GMarks 。しかし FAQ によると「Firefox 4 用のアドオンの開発を最優先で行う」らしく。……んー GMarks のクイックサーチみたいなことが出来るようになると乗り換えちゃうかもしれないなー?(チラッ
わしのブラウジングの 50% はこのクイックサーチが起点となってるのでもうコレがないとないと生きていけないのです。あとの残りはスマートロケーションバー + 絞り込み検索、ブックマークツールバー、普通に検索。

ソーシャルブックマークもそうですが、今は便利なウェブサービスがたくさん存在。使い分ける場合は自分なりのルールを決めておかないと大変ですな。
例えば気になるページを見つけたとして、ブックマークするか、Instapaper に入れるか、Evernote にクリップするか。ブックマークもローカルかソーシャルかで違うし、ソーシャルだとすればどこを使おうかとか。選択肢がイロイロ。

わしの場合、そう言えばアレについてどこかに書いてあったな、とアトになって探すけどまずどこに入れたかが判らない、という事が何度かありまして。それからは基本 Evernote にクリップする、で一本化。その中でも特に興味深いページを Instapaper に入れてオフラインでもじっくり読めるように。
そんな感じで何でもかんでも Evernote に放り込み続けた結果 ―― 今サイクル残り 9 日もあるのに総アップロード容量 900MB をオーバー。ちなみに Evernote のプレミアムアカウントの 1 サイクル(ひと月)毎のアップロード制限は 1,024MB 。……やばいリミット行っちゃう!

上で出た Instapaper 。アプリは 600 円と少々お高いですが、個人的 600 円以上の価値のあるサービスだと思っております。ダークモードやフォントサイズ変更や Tilt Scrolling / Pagination など、すごい読みやすいのです。
無料版もあるよ。ローカル保存 10 件までで、Tilt Scrolling / Pagination 使えないけど。

引き続き WordPress 調整中。
WordPress ってデフォルトで AutoPagerize がかかるんですね。テーマによって違うのかしら?
かかるならかかるでいいんだけど、あんまり必要ないんじゃないかと思われる Permlink 付きのページで、そのエントリに付けられたコメントを上書きして、しかもそのエントリよりも新しいエントリが継ぎ足されてしまうのですな。
確かに Permlink 付きのエントリにとっての「next」はより新しいページを指すけど、複数のエントリが新しい順に並ぶトップページ他にとっての「next」はより古いページ群で、一般的にはこちらを継ぎ足していくのが AutoPagerize の仕事だと思うし。あと下の方により新しいエントリが来るのは一貫性がなかろうと。
なのであちこちの記事を参考にキャンセル処理を入れました。ご了承を。
トップページ他にのみ効かせるべく悪戦苦闘しております。

[wp] サイトパフォーマンス問題

いらっしゃいませこんにちは。執筆管理者です。
どうですか。この blog は重くないですか。

タグクラウドに憧れて WordPress を使い始めたのはいいのですが ―― とにかく何をするにも重くて。投稿画面の読み込みに 5 秒待ち。プレビューしようとすると 5 秒待ち。別 PC からこの blog を見てみたところがなんと 10 秒待ち! 今の時代この遅さではせっかく来て下さったお客さまがゲンナリして帰ってしまいます。……それはエントリが面白くないからだろう、という意見はスルーします。
とはいえ WordPress はほぼ全てのコンテンツを動的に生成(リクエストの度にデータベースから適宜データを取り出しウェブページとして構築)するわけだし、重いのは仕方がないんですけども。宿命みたいなもので。

さらに言うとこの blog はさくらのレンタルサーバスタンダードで運営されており、共用の 1 サーバあたりだいたい 110 - 120 名が入居中。
んでわしのサーバ番号は www955 。

www955

さくらのレンタルサーバ非公式 FAQ » 負荷観測より。
つまり元からサーバ自体が重いのです。24 時間このレベルです。
ちなみに原因はわしん家じゃないです多分。1 日あたり CPU 30 分くらいしか使ってないしー。

ともあれ、重いサーバ上で重くなりがちな CMS を動かしてるんだから、何かしら軽くする努力をしないとこの先生きのこれない! と危機感を抱いたのでイロイロ。

Firebug によると、この blog を読み込むのにかかる時間は 7.97 秒。
静的なキャッシュを作ってくれる Quick Cache プラグインを入れてみた → 5.56 秒に。
データベースへのクエリをキャッシュしてくれる DB Cache Reloaded プラグインを入れてみた → 5.13 秒。
日本語化ファイルを取っ払ってみた → そんな変わらず。
関数部分を直書きしてみた → そんな変わらず。
JavaScript を圧縮して送ってみた → そんな変わらず。

……何やっても 5 秒はかかるのね (´・ω・`)
これ以上は無理、と諦めかけたんですが、しかしよくよく Firebug のグラフを見てみると ――

犯人

単にサイドバー recommend で使ってた Amazon の 8001_4.js が重いだけ……?
と言うことでこれを使わないようにしてみた → 1.89 秒。
とっても快適になりました^^

重いとか言ってごめん WordPress 。悪いのは重い js 置いたわし自身じゃった……。
まあサーバが重いのは変わらないので読み込み遅い時もありますが忍耐のほどをよろしくお願い申し上げます。