Ktai Style マニュアル
[ はじめに | 改版履歴 | サイト設定とテンプレートの改造 | ウェブログ管理機能 | よくある質問と答え ]
よくある質問と答え
Ktai Style に関して、附属ドキュメントに掲載されていない疑問点やノウハウなどを掲載します。ここにない質問があれば、まず、附属ドキュメントをよく読んでみてください。それでも解決できなければ、作者にメールするか、WordPress Japan の「日本語版プラグイン配布処」で質問してください。
インストール関連
- プラグインを有効にすると "Fatal Error" になる
- サーバーの PHP バージョンが 5.2.0 以降であるか確認してください。Ktai Style は PHP 4 および PHP 5.1.6 以前には対応していません。
- wp-content/plugins ディレクリーにファイルを入れるだけでいいのか
- はい、wordpress のルートディレクトリーにインストールするファイルはありません。Mobile Eye/Mobile Eye+ と違って、コメント受け付けスクリプト comments_post.phpも ktai_style フォルダーに入れてあります。
- PC 版テーマが default に戻る
- Ktai Style バージョン 1.00 から、携帯テーマで style.css を必須にしました。自作携帯テーマを作っている場合、バージョン 0.99 以前からのアップグレードを行うときには、あらかじめ、自作テーマに style.css を入れる必要があります。入れていない場合、WordPress コアが「不正なテーマ」と判断して、(ちょっと変ですが) PC 版テーマを default に戻してしまいます。(バージョン1.00 のみ。バージョン 1.01 以後 PC テーマは変更されません)
自作テーマを使っていないのに、PC 版テーマが default に戻る場合は、お使いの携帯テーマで index.php, style.css の両方のファイルが存在するか確認してください。
- WP Cache 等のキャッシュプラグインと併用したい
- 現状では、キャッシュプラグインとの併用は考慮していません。wp-cache-phase1.php で、ユーザーエージェト判別コードを挿入し、携帯電話の場合はキャッシュしないようにバイパスすればいいかもしれません (タイミング的に、
is_ktai()
関数は使えません)。なお、「Mobile Eye+とWP-Cacheを併用する」のテクニックは、Ktai Style では不具合が起きます (携帯キャリアごとに絵文字が違ったり、分割位置が違うため)。
- 携帯サイトの URL を別にしたい
- Ktai Style の現在のバージョンでは困難です。Ktai Style は、WordPress コアがリクエスト URL を解析し、テンプレートを呼び出す段階で携帯サイト用テンプレートに差し替える仕組みになっているためです。将来のバージョンでは可能にするかもしれませんが、期待しないでください。
仕様に関して
- パケット節約はどう行なっているか
- Ktai Style は、パケット節約のため、以下のような XHTML 書き換えを行っています。相当なパケット数削減となると考えています。
- 限定した XHTML 要素・属性以外は全て削除します (残す要素・属性は kses.php の
allowed_tags
で定義)。例えば、a 要素では title 属性、rel 属性を削除して href 属性のみ残します。
- 画像へリンク先・ウェブログの内部リンク先は、「http://.../」のホスト部分を削除して絶対パスに変換。
- 改行コードも大幅に削除
- img 要素 (画像) は画像ファイルへのリンクに変更
- カタカナの半角化は行なっていません。(削減できるバイト数が少ない割に可読性が落るため)
- サーバーへの負荷はどれぐらいか
- ウェブログコンテンツの読み込みは、WordPress の標準 API を使っているため、PC 向けサイトを表示するときの負荷とほぼ同等です。MT4i のように携帯版だけ負荷が高くなるという現象は、おそらく発生しません。(ちなみに、Mobile Eye/Mobile Eye+ の負荷も Ktai Style とほぼ同様です)
閲覧・運用に関して
- 携帯電話で閲覧すると白紙画面になる
- WordPress のバージョンが 2.2 以降であることを確認してください。Ktai Style は WordPress 2.1 から導入された API を使っているため、WordPress 2.0.x 以前では白紙になる可能性が大です (特にカテゴリー一覧画面)。WordPress 2.1 でも動くかもしれませんがテストしていません (バージョン 2.1.x はサポート終了しています)。
- 携帯電話で閲覧すると文字化けする
- サーバーの php.ini や .htaccess で
mbstring.encoding_translation = Off
かつ mbstring.http_output = pass
にしてください。Ktai Style は、携帯電話向けに Shift_JIS コードに変換していますが、encoding_translation = On
で http_output
が UTF-8 や EUC-JP になっていると、それらの文字コードに再変換されてしまい、携帯電話で見ると化けてしまいます。
- 携帯電話で閲覧すると英語になっている個所がある
- wp-config.php の WPLANG が "ja" であるか確認してください。WordPress ME 2.1.x 以前からのアップグレードで、"ja_UTF" のまま使っている場合、ktai_style-ja.mo を ktai_style-ja_UTF.mo にリネームしてください。
- Ktai Style 0.99 以降にアップグレードすれば解決します。また、言語リソース (ktai_style-ja.mo) が読み込まれているか確認してください。管理画面の「携帯表示」や、携帯電話画面が所々英語になっていれば、読み込まれていません。wp-config.php の WPLANG が "ja" であるか確認してください。"ja_UTF" のまま使っている場合、ktai_style-ja.mo を ktai_style-ja_UTF.mo にリネームしてください。
- アクセスログに記録が残らない
- デフォルトでは、Counterize II プラグインなど、アクセスを記録するプラグインでログが残らないことがあります。お使いのテーマの header.php で
wp_head()
をコメントアウトしている箇所を外してください。プラグインによっては、footer.php で wp_footer()
のコメントを外す必要があるかもしれません。
携帯サイトの見栄えやテーマ作成に関して
- 1画面に表示される投稿数を変えたい
- PC 用管理画面の「表示設定」で、「1 ページ内の投稿数」を変更してください。ページ番号つき URL (http://blog.example.jp/page/3/ のような URL) でも、PC と携帯の表示を同じにするために、携帯電話だけ表示数を減らすことはできません。
- カタカナを半角カナに変換させたい
- 附属の classic テーマを使ってください。もしくは、classic テーマの functions.php をお使いのテーマにコピーしてください。このファイルの中の、
ks_convert_kana()
関数で半角カナ変換を行っており、その下にある add_filter で変換を有効にしています。
- 携帯電話キャリアや端末種別を区別させたい
- 携帯電話キャリアは、テンプレートタグ
is_ktai()
の返り値で判別できます。端末種別は、グローバル変数 $Ktai_Style
を使って、$Ktai_Style->get('type')
をすれば得られます。i-mode の場合 mova, FOMA のいずれか、EZweb の場合 HDML, WAP2.0 のいずれか、SoftBank の場合 PDC, 3G のいずれか、WILLCOM の場合 AIR-EDGE という値になります。
- スタイルシートを使いたい
- 各社 3G 端末は、限定的ながらスタイルシートに対応しています。ただし、ドコモのスタイルシート対応 (i-CSS) は、インライン CSS にしか対応していません。Ktai Style では、header.php の1行目に
<?php ks_use_appl_xhtml(); ?>
と書けば、スタイルシートに対応できます (スタイルシートの利用方法)。
ただし、自作テーマに直接スタイルシートを書いた場合、旧端末用に変換はされません。この場合、mova, SoftBank PDC 用テーマと、FOMA, EZweb, SoftBank 3G, WILLCOM 用テーマそれぞれ2種類を作って、設定で使い分ける必要があります。
- Ktai Style の標準機能ではできません。ポップアップメニュー (プルダウンメニュー) は HTML の消費量が多くて、他のコンテンツの表示を圧迫してしまうため、使っていません。カテゴリーが少ない場合、使用中テーマに functions.php を作成し、
wp_dropdown_categories()
の出力を $Ktai_Style->filter_tags()
に通して余計な HTML 要素を削除してから出力すれば、表示させることは可能です。
- モバイル Google Adsense を入れたい
- 特に問題なく使用できるようです。Google の説明に従って適用してください。
- 携帯専用ブログにしたい
- 以下のようにすれば可能です (ただし試験していないので自己責任で)。
- ktai_style.php の84行目
$this->init_pc($admin_dir);
の次の行に、以下のコードを追加する。if (! preg_match('/wp-admin|wp-login/', $_SERVER['REQUEST_URI'])) {
exit;
}
- ktai_style.php の635行目
switch_pc_view()
関数の echo
文をコメントアウトする。
- 外部サイトへのリンクを通勤ブラウザ等の変換サービス経由にしたい
- バージョン 1.00 から、external_link フックに独自の変換関数を割り当てれば可能です。具体的なコードは、各自で検討してみてください ;-)