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://.../」のホスト部分を削除して絶対パスに変換。
- 改行コードも大幅に削除
- (PDC 端末では) img 要素 (画像) は画像ファイルへのリンクに変更。3G 端末では、ウェブログ配下の画像は、より小さいサムネールを作成して表示。
- カタカナの半角化は行なっていません。(削減できるバイト数が少ない割に可読性が落るため)
- サーバーへの負荷はどれぐらいか
- ウェブログコンテンツの読み込みは、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()
のコメントを外す必要があるかもしれません。
- 3G 端末で見ても画像がインライン表示されない
- 3G 端末, WILLCOM, スマートフォン等で見たとき画像がインライン表示されない場合は以下の点を確認してください。
- ウェブログ配下の画像であるか (外部サイトの画像は従来通りリンクへの変換です)。
- 当該画像が入っているディレクトリーに、WordPress (ウェブサーバー) からの書き込み権限があるか。wp-content/uploads 配下のディレクトリーのパーミッションが 757 になっていないと縮小画像が作成できず、インライン表示もされません。
- どうしても原因不明の場合、shrinkage.php の冒頭にあるコメントを外してデバッグモードにしてください。この場合、サムネール作成時のエラーがブラウザーに表示されますので、その内容と shrinkage.php のソースコードを突き合わせて原因を調べてみてください。
- Ktai Style が作るサムネールを大きくしたい
- shrinkage.php にある define 文のどれかを修正すれば可能です。ただし、変更しないことを推奨します。
WordPress が作るサムネールはデフォルトで長辺側が128ピクセルです。このサイズは比較的小さいため、携帯電話に表示していいのですが、実際には、WordPress を改変してサムネールサイズを長辺側160ピクセル、256ピクセル等に修正しているユーザーがおられます (プラグイン作者も160ピクセルにしています)。このため、WordPress が作るサムネールを携帯電話用に使うのはあきらめ、独自に長辺が96ピクセルのサムネールを生成しています。これより大きいサイズに変更することは、WordPress デフォルトのサムネールと使い分ける意味がなくなってしまうため、おすすめしません。
携帯サイトの見栄えやテーマ作成に関して
- 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種類を作って、設定で使い分ける必要があります。
- 携帯テーマを改造すれば可能です。index.php に以下のようなコードを入れてください。カテゴリーが多数あるときは、mova, SoftBank PDC など表示サイズが厳しい端末で常にページ分割が発生してしまうため、こういうインターフェースを使うことはおすすめしません。Ktai Style のデフォルトテーマで採用していないのもそういう理由です。
<div align="center"><form action="<?php ks_blogurl(); ?>">
<?php wp_dropdown_categories('show_option_all=すべて'); ?><input type="submit" value="選択" />
</form></div><hr />
- モバイル Google Adsense を入れたい
- 特に問題なく使用できるようです。Google の説明に従って適用してください。
- 携帯専用ブログにしたい
- 以下のようにすれば可能です (ただし試験していないので自己責任で)。
- ktai_style.php の84行目
$this->init_pc($admin_dir);
の次の行に、以下のコードを追加する。if (! preg_match('/wp-admin|wp-login/', $_SERVER['REQUEST_URI'])) {
exit;
}
- tags.php の1241行目
ks_switch_pc_view()
関数の echo
文をコメントアウトする。
- 外部サイトへのリンクを通勤ブラウザ等の変換サービス経由にしたい
- バージョン 1.00 から、external_link フックに独自の変換関数を割り当てれば可能です。具体的なコードは、各自で検討してみてください ;-)