Category:サイト
Ktai Style バージョン1.80 ベータ1 を使用してみた
というわけで、WordPress
の携帯対応プラグインである『Ktai Style バージョン1.80 ベータ1』を使用してみました。
さっそく、「Contact Form 7」への対応などを試してみました。上手く動作しているかと思いきや、届いたお問い合わせメールの一部が文字化けしていた。文字化けした部分を推測すると、「能」や「表」といった文字……なるほど、あの厄介な「0x5c問題」ですね。
これは、どちらのプラグインの問題かな……と思いながら色々試していると、「Ktai Style バージョン1.80 ベータ1」のコメント投稿では、文字列に「0x5c文字」が含まれていると文字化けするようになっていました。ちなみに、サイト内検索では文字化けしないようです。
バージョンダウンは面倒だし、しばらくはこのままで運用する予定なので、もしコメントが文字化けした場合はすみません。いただいたコメントが復元できる場合は、後から修正しておきます。
お問い合わせのページをつくってみた
気付いた方がどのくらいいらっしゃるか分かりませんが、最近このブログのデザインを微妙に変更しました。あ、ケータイ用レイアウトはほとんど変わっていませんけどね(汗)
また、お問い合わせのページをつくって、ブログから僕にメールを送れるようにしました。
メインサイトである『かるた一病息災』にフォームメールの機能があるのですが、最近はこのブログの方だけアクセスしている方が多い気がしますからね。
それに、アクセス数の割にコメントが多くないのがこのブログの特徴なので、何かご感想等があればお問い合わせのページから送信いただけると嬉しいです。
久々にWordPressプラグインを色々といじってみた
使用しているプラグインを見直したり、自作プラグインを修正したりしてみたんですが、利用者から見て変わったところは何もないと思います。Search Everythingプラグインを導入して、サイト内検索をコメントなども対象にするようにしたくらいですかね。
ちなみに、自作プラグインとして以下のようなものを使用しています。脆弱性がありそうな気がするので、公開するつもりは全然無いんですけどね(笑)
同じ日の記事を表示
年月が同じ日をリスト表示するプラグイン。こういうのがあると、過去の記事を振り返ってみるきっかけになるんですよねー。
Wikipediaリンク
ショートコードで囲まれた文字を、Wikipediaのリンクへと変換。
Videoリンク
ショートコードで囲まれたYouTubeやニコニコ動画のURLを、iframeなどの書式に変換。
Amazonリンク
ショートコードで囲まれたASINコードを、商品リンクに変換。
記事リンク
ショートコードで囲まれた記事IDに対応するリンクを生成。
タイトルリスト
ショートコードで囲まれた条件のタイトルリストを生成。
対戦結果非表示
かるたの対戦結果で、相手の級や勝敗をその日から1年間非表示にする。僕以外は誰も使わないであろうプラグインです(笑)
自動リンク
管理画面で設定した文字を変換。
ユーザー調査
管理画面で、投稿数の多い記事・投稿者名などをリスト表示。
ブラックリスト
設定した文字列に一致するコメントを、Akismetが捕獲する前に書き込み拒否。
波ダッシュ変換
コメントに含まれる波ダッシュ
を全角チルダに変換する。
引用文字色変更
コメントの先頭が「>」や「>」から始まる場合に、その行の文字色を変更。
こうやって振り返ってみると、意外と作っていたんだなぁ……
ショートコードを利用したらFeedがおかしくなっていた Part2
先日、WordPress
のショートコードについて書いた記事(2009-07-30 ショートコードを利用したらFeedがおかしくなっていた)の続きなんですが、「wp-includes\shortcodes.php」に記述してあるstrip_shortcodes()関数自体の戻り値がおかしいのかなと思って調べてみることにした。
元々の戻り値は、
return preg_replace('/'.$pattern.'/s', '', $content);
となっているのだが、
return preg_replace('/'.$pattern.'/su', '', $content);
と、「u」パターン修飾子を指定したら文字化けしなくなった。僕のインストール環境がおかしい可能性もあるんだけど、とりあえずメモ。
2009-10-22 追記
WordPress 2.8.5 にバージョンアップしたら、この文字化け現象は解消されるようになりました。
ショートコードを利用したらFeedがおかしくなっていた
実は、このサイトで利用しているWordPress
では、自作プラグインを10個ほど動作させているのだが、その中にいくつかショートコードを利用したプラグインがある。
先日、なんとなくFeedの内容を見てみると、ショートコードを利用した記事では、概要部分が全く表示されていなかったり、文字化けしたりという現象が発生していた。
色々調べた結果、wp_trim_excerpt()関数内の$text = strip_shortcodes( $text );の部分をコメントアウトしたら文字化け等の現象はなくなりました。しばらく様子を見てみようっと。
『番号による札分け』を携帯対応にした
番号による札分けのページを携帯からの閲覧にも対応させました。
以前は、『番号による札分け』のページをつくったは良いもののあまり使い道がないな……と思っていたのですが、番号による札分けの試合を行った後にこれを使えば、家に帰った後でもその試合の反省をやりやすいという利点があります。
先日の練習で、場所別に札を取った枚数を求めたときも(2009-06-06 自陣左が笑っちゃうほど取れていねぇ!)、このページを使ったら自分が取った札を楽に思い出せました。
風邪で寝込みながら考えてみたこと
風邪をひいている間、布団で寝込みながら新たにつくってみたいコンテンツを考えてみた。
定位置作成ページ
初心者が定位置を作成するためのコンテンツ。友札をくっつけるかどうか、一字札の場所、大山札の場所、各段に置く最大枚数、などを設定すると、自動的にその人向けの定位置をランダムで出力してくれる。
……というものを考えていたのだが、作成するのが面倒な割には需要が少なそうなので実際につくる可能性は低いと思う。
対戦記録閲覧ページ
僕は競技かるたの対戦記録をエクセルに保存しているのだが、ときどき外出中に過去の対戦結果が知りたくなる時がある。
そんなときのために、FTPでアップロードしておいたエクセルファイルのデータを、WEBから閲覧できると便利かなと思った。エクセルファイルの読み込み処理さえ上手くできれば、あとは簡単そう。
対戦記録ページ
僕は競技かるたの試合が終わると、対戦結果をケータイにメモしておいて、家に帰ってからエクセルに記録しているのだが……よく考えたら、ケータイからWEBページにアクセスして記録できたら便利じゃないか?と思った。
WEB上でデータを管理しておけば、cronで毎日自動でバックアップすることもできるし、すぐに結果を記録できるのでより正確なデータを残すことが出来る。
時間がある時に少しずつつくっていこうかなー。
Amazon APIが仕様変更
というわけで、Amazonが提供するAPIが名称変更することになり、仕様も変更しちゃうから今までのアクセス方法だとあと3ヵ月で使えなくなるっ!……とのことらしいです。
実はこのブログでは、WordPress
の自作プラグインとしてAmazonのAPIを使用したプラグインを使用しています。ケータイからアクセスしたときに、Amazonの画像を取得するためにAPIを使っているのだが、この仕様変更によりプログラムを修正しなくちゃいけなくなってしまった。面倒だなー。
色んな方が書かれているソースコードを参考にして、20分ほどで修正完了。しかし、動作確認していると、2回に1回はデータ取得に失敗している……何故かと思い色々と調べていると、新しく指定するようになった Signature のクエリ値に対してURLエンコードをしていなかったのが原因のようでした。めでたしめでたし。
あ、ついでだから商品に新品の値段を表示するように修正しました。どのように変わったのかは、Amazonの商品が掲載されている、以下のような記事へケータイからアクセスすると確認できます。
百人一首の歌の文字を入れ替えてみた
というわけで、先ほど『最初と最後の文字が合っていれば、他の文字の順番が違っても文章を認識できる』という記事を取り上げましたが(2009-05-08 およはう こにちんは こばんんは)、小倉百人一首の歌で同じように文字を入れ替えるとどうなるかをやってみた。
30分ほどでつくってみた。お遊びのページなので、レイアウトは携帯用のものだけだけです。このコンテンツは、『五七五七七』それぞれの句で、最初と最後の文字以外を入れ替えてみた物です。アクセスする度に歌は変わります。
こうして見ると、あっさりと認識できますね。もちろん、100首全部暗記しているからなんだろうけど、なんか不思議ー。
Ktai Style バージョン1.71 を使用してみた
というわけで、WordPress
の携帯対応プラグインである『Ktai Style バージョン1.71』を使用してみました。リリース直後にインストールはしていたんですが、改めて新機能の動作などを確認してみました。で、気が付いた点や自分で修正てみた部分を書いていこうと思います。
ks_posts_nav_dropdown() で1ページ目にリンク
2ページ目以降にリンクする場合は、『?paged=2』が『/page/2/』へと301リダイレクトされるのだが、1ページ目のリンクは『?paged=1』のままでリダイレクトされないようですね。このリダイレクト処理は、Ktai Style ではなく、WordPress 本体が処理をしてるっぽい。
なんとなく、『?paged=1』のままになっているのが嫌だったので、自作プラグインをつくってリダイレクトするようにしてみた(自信がないのでソースは非公開)。
docomo実機の場合は、301リダイレクトさせない
docomo実機の場合、301リダイレクトをすると『サイトが移動しました』といったメッセージが表示されてしまうので、302リダイレクトに出来ないかなと思って方法を調べてみた。
『wp_redirect_status』のフィルターフックでステータスコードを変更すれば良さそうだったが、実機かどうかの判断をどうしようかなと迷った。
if ($status == 301 && is_ktai() == 'DoCoMo') {
global $Ktai_Style;
if (isset($Ktai_Style->ktai) && $Ktai_Style->ktai->in_network()) {
return 302;
}
}
return $status;
こんな感じにしてみた。多分正常に動作している……はず(笑)
alt="" の画像も表示させる
ちょっと前のバージョンから仕様変更されていたようですが、『alt=""』と記述された画像は表示されないようになっているようですね。このサイトで使用していたアフィリエイト画像ソースが『alt=""』だったので、いつの間にか表示されないようになっていた。
これは、『image_to_link/ktai_style.php』のフィルターフックで優先順位を9以下に指定して、表示させたい画像URLの場合はNULLを返すようにすれば良いっぽい。
外部リンクのアイコンマーク
外部リンクの文字列の前には、矢印マークの絵文字アイコンが付加されるのだが、『$mobile_same_url』で指定されたURLの場合はアイコンが付加されないようだったので、『ks_karuta_external_link/ktai_style.php』のフィルターフックを使用して力技で修正。アイコンをリンク文字列の前に表示させるようにしてみた。
個人的には、管理画面でURL設定したもの以外は、前にアイコンマークをつけて欲しいかなと思いました。
Ktai Style バージョン1.61-rc1 を使用してみた
というわけで、WordPress
の携帯対応プラグインである『Ktai Style バージョン1.61-rc1』を使用してみました。
個人的に、今回のバージョンアップで一番嬉しかったのは font タグが入れ子になっていてもスタイル変換してくれるようになっていることですかね。ただ、au 端末用に<font size="-1">がスタイル変換されると、<small><font>という、空の font タグが現れるようでした。動きには全然問題なさそうだけど、一応。
バージョンアップのついでに、テーマファイルを修正して、<img localsrc="" />の記述で絵文字を増やしてみたのだが、docomoの実機だと思惑と違う絵文字が出力されてしまうものがありました。
具体的には、<img localsrc="48" />で『チャペル』を記述すると『半月』絵文字が表示され、<img localsrc="784" />で『mail to』を記述すると『phone to』絵文字が表示されていました(※ 絵文字名称は、docomoでの名称)。
とりあえず、i-mode.php のファイル内で、『チャペル』が『d097』になっている箇所を『d208』に変更して、『mail to』が『d105』になっている場所を『d106』してみる。フィルターフックを使えば良いんだろうけど、面倒だったので直接修正(笑)絵文字の変換は、Ktai Style 独自のものということらしいので、これが意図した変換だったのであればすみません。
また、以前書いた hr タグが変換されてしまう件(2009-02-06 Ktai Style バージョン1.6-beta3 を使用してみた)は、僕が functions.php にて記述している処理が原因でした。コメント削除したり、独自にコードを変換したりしているので、それが悪影響を及ぼしていました。調査不十分の状態で、Ktai Style の不具合であるような書き方をしてしまい申し訳ありませんでした。
『試合メーカー』が携帯からは動作しなかったバグを修正
競技かるたの試合を占う、『試合メーカー』というコンテンツを先日つくったんですが……携帯電話からは結果が表示されないという初歩的なバグがありました。原因は初歩的なミスで、先ほど修正したので今は正常に結果が表示されます。ご迷惑をおかけして申し訳ありませんでした。
今日、「携帯からは出来ないんですか?」と指摘されて初めて気が付きました。動作確認したはずだったんですが……最近はこういうミスが多い気がする。これから気を付けます。
Ktai Style バージョン1.6-beta3 を使用してみた
というわけで、WordPress
の携帯対応プラグインである『Ktai Style バージョン1.6-beta3』を使用してみました。様々な要望に対応していただきありがとうございます。
分割時の罫線をカスタマイズ出来るようになったので、早速修正してみました。ついでに、分割のナビゲーションメニューを修正したり、出力時にコメント部分を削除するようにしてみた。これで、hr タグに色を付けることが出来るようになったのだが、ひとつおかしいところに気が付いた。
ただ、『iモード HTML シミュレータ』で確認したところ、<hr color="red" /> とテーマファイル内で色を指定した場合、全て削除されて <hr> に変換されているのだが、start paging や end paging で同様の記述を行うと、<hr color="red" /> のまま出力されるようでした。まぁ、最近の端末だったらあまり関係なさそうだからいっか。
そう言えば、見たことがないユーザーエージェントのロボットがサイトを巡回していた。
SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
名称から察するに、サムスン携帯電話のユーザーエージェントでアクセスするGoogleロボットでしょうか。現バージョンの Ktai Style では、これをモバイル端末だと判別しないみたいでした。
競技かるたの試合を占う『試合メーカー』のコンテンツを作成
競技かるたの試合を占う、『試合メーカー』というコンテンツをつくってみました。以前作成した『決まり字成分解析』と同じように、名前を入力して結果を出力するタイプです。
2人の名前を入力すると、『お手つき、勝敗、枚数差』が表示されます。同日中に同じ名前で占うと同じ結果が表示されますが、日が変わると結果が変わるようにしてみました。
本当は、試合内容の状況もランダムに出力しようかと思っていましたが、文章が上手く浮かばなかったのでとりあえず却下。何か、不具合等があればご連絡ください。
2009-02-06 追記
「試合メーカー」の結果が、全然表示されないバグが発生してるみたいです。申し訳ありません。今日、家に帰ってから修正します。
Ktai Style でテーマをつくっていて気が付いたこと
現在、Ktai Style 1.61-beta1でテーマを作成・修正しているところですが、気が付いたことを箇条書きしておきます。
- テーマの作成途中で、バージョン1.61にはインラインスタイルへ自動的に変換してくれる機能があることを知った(汗)
- まぁ、別に良いか……と思っていたけど、互換性当を考えて font タグ等を使って記述した方が良さそう
- hr タグにインラインスタイルを記述していても、自動変換で消されてしまう(コメントにて報告済み)
- redir.php に記述されたコードは、インラインスタイルに自動変換してくれないっぽい
- font タグが入れ子になっていると、変換がおかしくなる
- Softbank 3G は、『display:-wap-marquee』が使えないらしいので、機種判別して maequee タグを使うしかないのかな……
- ページ分割時の文言は、翻訳ファイルを修正しないと変更できない。また、<hr />タグが出力されるのは固定っぽいので、プログラム部分を直接しなければレイアウト修正できない
- 普段のページ遷移に『#』『*』の accesskey を使用していると、ページ分割時に accesskey が重複してしまう
- body タグの link は『a,a:link {color:~』のスタイルシートに置き換えられるので、<a id="">や<a name="">で囲われた文字の色も変わる場合がありそう(これが良いのか悪いのかは不明)
- 個人的に、function.php で変数を色々とつくっておいて、必要なときに各テンプレートファイルから global で呼び出すとテーマを修正しやすい気がした
- 『<!--start paging-->』と『<!--end paging-->』は、ちゃんと意味があるコメントだったのか……間違えて削除していたぞ(汗)
- function.php に以下のコードを記述して、MIMEタイプが『application/xhtml+xml』ではないときに、スタイルシート関連の記述を削除してみた
function ks_karuta_replace($buffer) {
if (! ks_applied_appl_xhtml()){
$buffer = preg_replace('!<([a-z]+?[^>]*?) style="[^>]*?"([^>]*?)>!', '<$1$2>', $buffer);
$buffer = preg_replace('!</?span( [^>]*?)?>!', '', $buffer);
}
return $buffer;
}
add_filter('raw_content/ktai_style.php', 'ks_karuta_replace');
最もCSS、XHTMLに融通が利かないdocomoで実機確認してはいるけど、XHTML非対応端末や他の機種でちゃんと表示されているかが不安です。まぁ、今のところ特にクレーム等は来ていないので、それなりにちゃんと表示されている……と願っておきます(笑)
Ktai Style のテーマを修正してみた
『Ktai Style 1.61-beta1 配布』ということで、さっそくダウンロードして、ついでに久々にテーマを色々といじってみた。
今までは、HTMLでテーマファイルを書いていたんですが、今回はXHTMLとCSSを使って作成したので、もしかしたら表示が変になっているところがあるかもしれません。実機はdocomoでしか確認しておらず、auとsoftbankはエミュレーターでの確認となっているので、おかしいところがあったらご連絡いただけると嬉しいです。
Ktai Style 1.60 を使用してみた
というわけで、WordPress
の携帯対応プラグインである『Ktai Style バージョン1.60』を使用してみました。外部サイト接続確認ページのテンプレート化など、色々と欲しい機能が増えていたのでさっそくバージョンアップ。
バージョンアップしたファイルを確認すると、やはりテンプレートの修正箇所が多いですね。僕の場合、テンプレートを自分で作りこんでいる部分が多いので、ちょっと修正に苦労しました(汗)
で、今回新たに増えた外部サイト接続確認ページ用テンプレート『redir.php』も試してみました。今までは、フィルターフック関数で編集するしかなかったんですが、それだと出来ることが制限されているので拡張しづらかったんですよね。で、早速導入してみると、ページが真っ白で動かないっ!?
……よく見たら、使用した classicテーマの redir.phpファイルで、titleタグが閉め忘れているだけでした。ちょっと焦りました。
2009-01-23 追記
この不具合は、当日中にすぐ配布ファイルが差し替えられて問題解決済みです。今から、色々とサイトを巡って動作確認でもしてみようかと思います。
このサイトでの2008年の収支
そう言えば、このサイトを運営していることで2008年に発生した収支を出す、と言っておきながら、すっかり忘れちゃっていました(汗)2007年は、支出『3,190円』収入『3,123円』という結果でしたが(2007-12-11 このサイトでの2007年の収支)、さて今年はどうなっていたかというと……
支出が、ドメイン代とレンタルサーバー代で『7,380円』。収入が、アフィリエイト広告費と本人購入成果料金で『10,472円』。
支出が増えたのは、年の途中で違うサーバーに移転したためです。収入が増えたのは、去年は支払いがなくて繰り越しとなった、AmazonやA8.netの料金が支払われたからです。加えて、自分で広告をクリックしてから購入して小銭を稼ぎました(もちろん、認められている契約に関してのみ)。
ちなみに、もしサイトに広告を貼って小銭を稼ごうと思っている方がいたら、リンクシェアがおすすめです。何と言っても、『1円から報酬支払われる』というのが良いです。多くのアフィリエイトサイトの場合、数千円以上の報酬額に達しないと支払いがされません。
たくさんアクセスがあるサイトであれば、別に問題ないと思いますが、あまりアクセスのない個人サイトの場合、千円稼ぐのであっても一年以上かかってしまうのが現実です。だから、この『1円から報酬支払われる』というのは大きいんですよね。
と、宣伝しておきます(笑)
雑談掲示板携帯用ページに、過去ログ閲覧機能追加
このサイトに設置している雑談掲示板は、パソコンからと携帯から見た場合には、違うレイアウトで表示されるようになっていますが、携帯用ページの場合はいくつか機能が制限されています。そこで、携帯端末でも過去ログを閲覧できるように、久々にPerl
プログラムをいじって修正してみました。
これで、雑談掲示板の下の方に『過去ログ表示』のメニューが追加され、携帯端末からでも以前投稿された書き込みが見られるようになったはずです。久々に昔の見てみると、懐かしいなぁ……
mixiモバイルアクセス時に、ktai styleが動作するようにしてみた
最近、アクセスログに見慣れないユーザーエージェントが増えていた。
mixi-mobile-converter/1.0 (http://mixi.jp/)
mixiが外部検索用にロボットを動かしているのかな……と思っていたのだが、どうやら違うようで、これはmixiモバイルの外部リンク変換サービス時のユーザーエージェントのようだ。2008年9月から開始していたんですね……mixiあんまりやらないから知らなかったよ。
僕はmixiでは、このブログを表示するような設定にしているので、早速mixiモバイルから自分のサイトへとアクセスしてみた。
すると、携帯対応プラグイン「Ktai Style 1.45」での表示画面ではなく、パソコンから見た表示画面を携帯電話向けに変換されたページが出力された。画像縮小、リンクは取り除かれるなどの処理がされているようです。
そこで、mixiモバイルから表示した場合に、「Ktai Style」が動作するように設定してみた。やり方は、プラグインに付属しているマニュアルを見ればすぐに分かりますが、WordPressインストールフォルダ直下の、my-hacks.php に以下のコードを追加します。普通はファイル自体が存在しないはずなので、その場合はファイルを新規作成します。
<?php
function ks_detect_mixi($ktai, $ua) {
if (preg_match('/^mixi-mobile-converter/', $ua)) {
if ($ktai) {
unset($ktai);
}
$ktai = new Ktai_Service_Other($ua);
}
return $ktai;
}
add_filter('detect_agent/ktai_style.php', 'ks_detect_mixi', 10, 2);
?>
これで、『レガシーな my-hacks.php ファイルを使用』に設定されていれば、mixiモバイルからWordPressにアクセス時に、「Ktai Style」が動作するようになります。
ちなみに、mixiモバイルからアクセスされる場合は、毎回 robots.txt をチェックしているようなので、拒否したい場合は、
User-agent: mixi-mobile-converter
Disallow: /
と、robots.txt に記述すればOKのようです。
2008-12-12 追記
『Ktai Style バージョン 1.46』で、正式に対応していただいたので、バージョン1.46 移行は上記のようなことをする必要はありません。