wp-cumulusの日本語化

wp-cumulusを日本語化したのは探すと結構出てくるけど、Flashにフォントを埋め込むため、やっぱりファイルサイズが大きい。
日本語すべてとなると1.8MBを越える。

いくらブロードバンド時代だと言っても限度があるわけで、どのページ開いても1.8MB以上も読み込むのはサーバー的にも良くないと思ったので、埋め込む文字を第一水準までにしてみた。
変な漢字使わなければ第一水準で十分と思う。

以下、今回埋め込んだ文字。
・大文字
・小文字
・数字
・句読点記号
・基本ラテン
・日本語(かな)
・日本語 漢字 – JIS 第一水準
・ラテン I

1MB近くも削れて830KBにまで減った。

使ったフォントはライセンス的にも大丈夫そうな、VLゴシックフォントを使用。
出来れば太字にしたかったんだけど太字がなかった…
太字じゃなくても、これはこれで良いかなと。

tagcloud.zip

コンフリクト!

昨日辺りから、フィードが500エラーを返してて何でだろうと色々調べてみると、昨日入れたExec-PHPが問題だったらしい。

Exec-PHP単体で動かしてる分には良かったんだけど、”Syntax Highlighter for WordPress”と同時に使用すると、フィードでPHPを実行しようとしてるみたいで。01
さらに、フィードではSyntax Highlighterも動かないから[php]も置換されずにそのまま出てるわけで…
“eval()’d code on line 20″とか’[‘が多いとかいうエラーが出てました。

フィードでPHPを動かす必要性はあまりない。
てことでExec-PHPで実行される前に[php]~[/php]をオミットすることにする。

exec-php/includes/runtime.php

function eval_php($content)
{
    // to be compatible with older PHP4 installations
    // don't use fancy ob_XXX shortcut functions
    $content = preg_replace('/\[php[^<>#x5d;*\](.*\r\n)+\[\/php\]/i', "", $content);
    ob_start();
    eval("?>$content<?php ");
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}

空白に置換するんじゃなくて、何かしらの文字列にした方がいいかもねぇ。
「PHPソース省略」とか。
あと、PHPだけじゃなくてHTMLソースも消した方がよさそう。02

  1. 記事は’<’が文字実体参照に置換されるから問題ない [戻る]
  2. 今回対応したのが、後で問題になりそうな気がするなぁ… [戻る]

色々テスト

目的

プラグインテスト

その1

文章に注釈を付けます。01
括弧の前に半角スペースがいるのか…

その2

見出しを拾って目次を作る02
たぶん使わない。
スタイルはセルフサービスかよ。

その3

amazonテスト。
画像サイズ大は無理があるな…

結論

なんにせよ。CSS書かないといけない。03

  1. WP-Footnotes [戻る]
  2. Table of Contents Generator [戻る]
  3. めんどくせ [戻る]

ヤドカリのあれ

ブログの動作がちょっとアレで、アップグレードに失敗したかな?と思ったので新しく落として来て鞍替え。
新しく落として来たものにwp-config.phpをプラグイン、テーマディレクトリをコピーするだけなんだけど、FTPだとやる気がなくなるくらい遅いのでSSHでサクッと。

やったところで何も変わらなかったけどな。

それでも、使ってないorたまにしか使わないプラグインを停止したりして、ちょっとは軽くなれと試行錯誤してた朝5時。
早起きは36文キックですよ。
おかげで0.1秒ほど速くなった。

誤差って言うな!
よし、これを言っておけば大丈夫だな。

※ページの表示速度はパソコンの性能で変わります。

圧縮して転送してるからあながち嘘じゃない。
dw2009070401
Analysis Tools for Your Site

圧縮されすぎのような気がしなくもない…

色々変

うちだけかもしれないが、WordPress2.8にバージョンアップしたところ。
管理画面の「設定>一般」のタイムゾーンから下が表示されない。という状態に。

これは、非常に困る。
ページ下部には「変更の保存」という大事な大事なボタンがあるわけで。
表示されてないと保存できないわけです。
formのメソッドはpostだしね。getなら何とかなったかもしれない。

誰か、対策法を…

と、つばめの雛のように口を開けて答えが飛び込んでくるのを待ってるのも良かったのですが、暇だったのでシューティング。
コボラーといえどプログラムは、どれだって同じようなモノだろ?イケルイケル!
コメントアウトとecho使うだけなんだからね。あ、あとreturnもか。

    usort($zonen, create_function(
        '$a, $b', '
        $t = create_function(\'$s\', \'return translate(str_replace("_", " ", $s), "continents-cities");\');
        $a_continent = $t($a["continent"]);
        $b_continent = $t($b["continent"]);
        $a_city = $t($a["city"]);
        $b_city = $t($b["city"]);
        $a_subcity = $t($a["subcity"]);
        $b_subcity = $t($b["subcity"]);
        if ( $a_continent == $b_continent && $a_city == $b_city )
            return strnatcasecmp($a_subcity, $b_subcity);
        elseif ( $a_continent == $b_continent )
            return strnatcasecmp($a_city, $b_city);
        else
//			return strnatcasecmp($a_continent, $b_continent);
        '));

functions.phpの3232行目をコメントアウトしたら下まで表示されるようになった。
タイムゾーンの大陸がソートされなくなるだろうけど、ソートなんてもともと出来なかったんじゃないかと思う。

strnatcasecmp — この関数は、人間が行うような手法でアルファベットまたは数字の 文字列の順序を比較するアルゴリズムを実装します。

日本語には効かないだろうな。PHPだからよく分からないけど。
情報処理試験のテキストを眺めつつ「PHPの勉強しようかな?(試験には出ないけど)」と思う。

あと、プラグインを有効にしたら真っ白なページになってプラグインを削除しないと、どうにもこうにもならない状態になった。
こういう時はエラーログを見る。

PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes)
PHP Fatal誤り: 33554432バイトのサイズでくたくたになった(122880バイトを割り当てようとします)許容メモリ

32Mで足りないだと?なんて大食らいだ!!
しかし、資源は沢山ある(たぶん)。
食べろ食べろ。

/etc/php.ini
;memory_limit = 32M ; Maximum amount of memory a script may consume (16MB)
memory_limit = 64M

とりあえず、倍にしておけば大丈夫かなと。

ぷらぐいん

WordPressの自動アップグレードが出来ない。
→プラグイン外せよ…

今まで手動でアップグレードやってたのがアホみたいだ。

\cp -R wordpress/* wordpress/
みたいなコマンドで一発なんですけどね。

XREAはSSH使えるからZIPでサーバーに上げて、サーバー側で展開した方が速い。
むしろ、サーバーに直接ダウンロード?
wget使えたっけなぁ…。その辺の細かいことは知らん。もう、XREA使ってないから。

すたいるしーとはっく

IE6だと、ちょっとズレてたのをスターハックで修正。

そして、今度はメイリオの入ってないPCだと、コメント吹き出しがズレる。
きょ、許容範囲だ。

もうちょっと勉強しよう。

ランダムイメージ

サイドバーとかにランダムで記事内で使用された画像を表示させるプラグインRandom Image。
Random Image Plugin for WordPress – Justinsomnia

記事内のimgタグから直接持ってきてるので、フルサイズの画像が出てきたりしてサイドバーにサムネイルとして表示させるには非常に重い。

ので。

WordPressでアップロードすると150×150のサムネイルが作成されるので、それを表示させるように改造。

ソースコードをカラー表示

ソースコードを表示させるかもしれないので、ソースコードをハイライト表示させるプラグインiG:Syntax Hiliterをインストール。
Canned !! ? my Atropine ≫ iG:Syntax Hiliter

でも、WordPressのインストールディレクトリを変更してると、スタイルシートとJavaScriptのリンクが切れるのでsyntax_hilite.phpを修正。

$igsyntax_hiliter_path = get_settings('home')."/wp-content/plugins/ig_syntax_hilite";	//URL to the plugin directory

30行目の「/wp-content/plugins/ig_syntax_hilite」の前の部分にWordPressのインストールディレクトリを追加。

/xxxxxx/wp-content/plugins/ig_syntax_hilite
こんな感じに。

いんたぁなる さぁばぁ えらぁ

WordPressの携帯プラグインインストールしたんだけど。

500エラーが出てページが見れない。

dw 2008120401
無効なデータを受信しました(500)

無効なデータってなんだよ…