Ktai Style マニュアル

サイト設定とテンプレートの改造

ここでは、携帯サイトの見た目を変更する方法を説明します。管理画面での設定による方法と、携帯表示用テンプレートの改造による方法があります。

管理画面の「携帯表示」設定

テーマ

使用するテーマを選択します。初期状態では以下の4つのテーマがあります。

携帯電話キャリアごとにテーマを変更できますが、通常は「共通テーマと同じ」のままで構いません。

動作

携帯サイトの見栄えを変更できます。

コメントとトラックバック
デフォルトでは、各記事および最新コメント一覧において、コメントとトラックバック・ピンバックを混在して表示しますが、二者を分離できます (トラックバックとピンバックは分離しません)。
なお、各記事についている「コメントn件」の件数については、コメントとトラックバックを合わせた数です (分離はできません)。
直接リンクを張るサイト
このフィールドに記入された URL へのリンクは、フルブラウザや中継ページ経由のリンクにせず普通にリンク (直接リンク) します。携帯電話対応サイトの URL を記入すると便利です。
コメント投稿者の端末識別情報
「送信が必須」を選ぶと、ドコモ、au、ソフトバンク端末からのコメント投稿時に、端末識別情報 (端末製造番号、UIM ID、サブスクライバ ID 等) を送信しないと受け付けられなくなります。送信された端末 ID は、ユーザーエージェントの後に付与してデータベースに保存されます。WordPress の管理画面では通常見られませんが、phpMyAdmin 等で wp_comments テーブルの comment_agent カラムを見れば確認できます。 なお、ウィルコム端末、その他端末 (スマートフォン、PSP 等) では、「送信が必須」にしても端末 ID なしでコメント可能です。
*** 注意 ***「送信を必須」にしても、フルブラウザ・PC サイトビューアー等に切り換えれば回避できます。通常は「必須ではない」を選択することをおすすめします。

※バージョン 0.97 以降、外部サイトへのリンクは原則として残すことにしました。もし、外部サイトへのリンクを一律に削除したい場合は、ktai_style.php の冒頭にある
// define ('KS_DELETE_EXTERNAL_LINKS', TRUE);
のコメント記号 (//) を外してください。

文字色

要所要所の文字色を変更できます。設定値は #rrggbb の16進表記で記述します。HTML では一般的な書式です。値を入力すると、リアルタイムに色見本が変更され、色の確認がしやすくなっています。なお、Ktai Style の標準テーマ以外では設定が反映されない場合があります。

※背景色・通常の文字色・リンク色・訪問済みリンク色は、設定画面ではなく、テンプレートの改造 (templates/header.php の <body> 要素の属性を修正) で対応してください。

投稿・コメントの日付書式

投稿やコメントの日付書式を変更できます。WordPress 一般設定の日付書式は、原則として使っていません (記事タイトルの上に表示する日付は一般設定を適用)。

これは、「今年の日付は年を省略して表示する」「今日の日付は時刻のみ表示する」という短縮処理を行うためです。したがって、それぞれの状況に応じて書式を設定する必要があります。

フォーマットに使う文字列は WordPress の設定画面と同じ (PHP の date() 関数と同じ) です。

年月日を表示する場合 (去年以前の日付)
デフォルトでは Y-m-d という ISO フォーマットです。スラッシュ区切りや日本語表記に変更して構いません。なお、年・月・日を示す文字それぞれが含まれる必要があります。
OK な例: Y/m/d , Y年n月j日, M jS, Y
ダメな例: n/j, Y年n月
月日のみ表示の場合 (今年の日付)
デフォルトではスラッシュ区切リの n/j という書式です。年省略では ISO フォーマットは不自然なためです。月・日を示す文字列それぞれが含まれる必要があります。
時刻
時刻フォーマットはすべての場合で使われます。デフォルトは秒を省略した H:i です。

テンプレートの改造

本プラグインのテンプレートは、WordPress のテーマとほぼ同じ構造です。このため、WordPress のテーマを制作・改造したことがあれば、同じ要領で改造することができます。

なお、プラグインのソースコードおよびテンプレートは原則として UTF-8 で記述されています。このため、WordPress の管理画面で編集が可能です。ただし、ezweb.php, i-mode.php, softbank.php, willcom.php は Shift_JIS で書かれています。WordPress の管理画面で編集すると壊れますので、ご注意ください。

プラグインによっては、携帯電話表示のとき動作しないものがあります。この場合、header.php で wp_head() を有効にしたり、footer.php で wp_footer() を有効にすると動作するようになる場合があります (デフォルトではこれらのテンプレートタグはコメントアウト)。

独自のテーマを作るときは、既存テーマのフォルダーを複製して好きな名前を付け、その複製に対して作業することをおすすめします。default テーマを直接改造することは避けてください。

附属テンプレートファイル一覧

WordPress 標準テンプレート

style.css
テーマの名称、配布元、説明、バージョン、作者を記述するために使用しています。バージョン 1.00 から必須のテンプレートとなりました (存在しない場合携帯テーマとして認識されません)。今のところスタイルシートとしては使用していません。
header.php
ページヘッダの表示用。add_action('wp_head'); を利用しているプラグインの場合、このテンプレートの wp_head() 前後のコメントマークを削除すると動作するようになります。
footer.php
ページフッタの表示用。add_action('wp_footer'); を利用しているプラグインの場合、このテンプレートの wp_footer() 前後のコメントマークを削除すると動作するようになります。
index.php
フロントページ・検索ページなど表示用で、必須のテンプレートです (存在しない場合携帯テーマとして認識されません)。default テーマでは、1番目の記事だけ本文を表示し、2番目以後はタイトル表示というスタイル、compact, classic, redportal テーマではすべてタイトル表示です。
archive.php
アーカイブページ (年日付別/カテゴリー別/投稿者別など) 表示用。記事タイトルだけ表示します。このテンプレートがないときは index.php で代用します。
page.php
固定ページ表示用。このテンプレートがないときは index.php で代用します。
single.php
投稿の単独表示用。このテンプレートがないときは index.php で代用しますが、デフォルトの index.php ではコメント一覧やコメント投稿フォームが出ないため、実質的に必須のテンプレートです。
comments.php
コメント一覧/コメント投稿フォーム表示用。コメント閲覧・投稿を行うためには必須のテンプレートです。single.php から comments_template() タグで呼び出されます。
functions.php
テーマ用の独自関数定義ファイル。附属テーマでは classic テーマのみ存在しており、全角カタカナ→半角カナ変換を行うフィルターを定義しています。

以上は WordPress の仕様に従って呼び出されます。もし、category-10.php というテンプレートを追加すれば、カテゴリー ID = 10 のアーカイブにはこのテンプレートが利用されます。

本プラグイン独自テンプレート

以後は本プラグイン独自のテンプレートです。 ウェブログ直下の URL に「?menu=XXXX」というクエリー文字列を付けると呼び出されます。
例: http://blog.example.jp/?menu=months

※バージョン 0.90 からファイル名およびクエリー文字列を変更しています。

menu_months.php
年月アーカイブの一覧表示用。?menu=months で呼び出し。
menu_cats.php
カテゴリー一覧表示用。?menu=cats で呼び出し。
menu_tags.php
タグ一覧表示用。?menu=tags で呼び出し。
menu_pages.php
ページ一覧表示用?menu=pages で呼び出し。defalt, compact テーマでは使用していません。
menu_links.php
ブックマーク (ブログロール) 一覧表示用。?menu=links で呼び出し。デフォルトではこのテンプレートは使用していません。footer.php などに、
<a href="<?php ks_blogurl(); ?>?menu=links">リンク</a>
のように記載すれば使用できます。
menu_comments.php
最近のコメント表示用。?menu=comments で呼び出し。デフォルトでは、コメントとトラックバック・ピンバックを混在して表示しますが、設定で分離表示が可能です。

絵文字の使い方

テンプレートや投稿本文で以下の XHTML タグを使えば絵文字を挿入できます。EZweb の絵文字と同じ仕様です。
<img localsrc="999" alt="代替文字" />
localsrc 属性に絵文字番号 (上記の場合 999)、alt 属性は絵文字の代替文字です (PDA など絵文字非搭載の端末向け)。絵文字番号は KDDI のウェブサイトを参照してください。

ドコモ端末、ソフトバンク端末に対しては、似たような絵文字に自動的に変換されます。ウィルコム端末については、ウィルコム独自絵文字で似た絵文字があればそれを使い、なければ i モード互換絵文字に変換します。

変換テーブルは独自のもので、十分には揃っていません。変換テーブルにない絵文字は 〓 (ゲタ) になります。具体的な変換内容についてはソースコード (i-mode.php, softbank.php, willcom.php) を参照してください。

投稿本文に使った場合、PC では何も表示されません。携帯電話専用ウェブログにする以外では、投稿本文で使わないのが無難です。

テンプレートで画像を使う

原則として、すべての画像はリンクに変換するか alt 文字列を表示しますが、携帯電話でも画像をそのまま表示させたい場合は、その img 要素に
    class="ktai"
という属性を追加してください。すでに class 属性があるなら、既存の class の後ろに空白を入れて ktai と書けばよいです。
    例: <img src="/qr.png" class="noframe ktai" />

なお、画像のサイズが大きくてページの全体サイズが携帯端末の表示容量を越える場合は、画像を alt テキストの内容に置換して容量制限に収まるようにしています。複数の画像がある場合は、後ろの画像から順にテキスト化されます (前の画像を極力残します)。

ただし、画像サイズのチェックはウェブログ内の画像 (uploads フォルダー配下、プラグイン用画像、テーマ用画像など) に限られ、外部サイトの画像は対象外です。外部サイトの画像に class="ktai" を付けて表示させた場合、携帯端末の容量制限を越えてしまう可能性があります。

PNG, GIF 自動切り替え機能

JPEG 画像は、ほぼすべての端末で表示できますが、PNG 画像は i-mode (ドコモ) で表示できず、GIF 画像は Softbank の PDC 端末で表示できません。Ktai Style では、端末に応じてどちらか適切なフォーマットの画像を表示させることができます。

PNG や GIF 画像を使いたい場合は、同じファイル名で PNG フォーマット、GIF フォーマットの画像をそれぞれ用意してください。そして、img 要素の src 属性では、PNG 画像か GIF 画像どちらかを呼び出してください。PNG 画像の呼び出しは i-mode において GIF 画像に、GIF 画像の呼び出しは SoftBank PDC において PNG 画像に変更されます。

例: <img src="<?php ks_theme_url(); ?>title.png" class="ktai" />
      → i-mode では title.gif を読み込む
例: <img src="<?php ks_theme_url(); ?>map.gif" class="ktai" />
      → SoftBank では map.png を読み込む

※画像自体を変換するわけではありませんので、あらかじめ title.png, title.gif や map.gif, map.png それぞれを作っておく必要があります。
※img 要素に class="ktai" をつけない場合、画像をリンクにする機能が優先され、PNG, GIF 切り替え機能は働きません。

コメント項目不足時エラーのインライン表示

default, compact, redportal テーマでは、WordPress の標準動作と異なり、コメント投稿時に必須事項 (コメント本文、名前、携帯電情報など) が記入されてないとき、コメントフォームを再び表示してその上部にエラーを出します (エラーのインライン表示)。classic テーマは、WordPress 標準の動作である、エラー画面に遷移となります。この場合、携帯電話の機種によっては、前の画面に戻ったとき、入力内容が消えてしまうことがあります。

エラーをインライン表示にするには、submit ボタンを ks_inline_error_submit() テンプレートタグを使って出力します。

default テーマの場合
<?php ks_inline_error_submit(_e('Say It!')); ?>
classic テーマの場合
<input type="submit" name="submit" value="<?php _e('Say It!'); ?>" />

スタイルシートの利用

DoCoMo FOMA, EZweb の WAP2.0 対応機、ソフトバンク 3G など、最近の端末ではスタイルシートにも対応しています。EZweb は、media="handheld" 指定によって独立したスタイルシートを作成できます。i-mode 用 CSS (i-CSS) は各要素に style 属性を付与したインライン形式しか対応しておらず、HTTP ヘッダで application/xhtml+xml を名乗る必要があります (text/html ではスタイルシートが無効になります)。

Ktai Style は、デフォルトではスタイルシートを使わず、HTTP ヘッダでは text/html を出力しています。しかし、ks_use_appl_xhtml() テンプレートタグを使うことにより、DoCoMo FOMA, EZweb の WAP2.0 対応機、ソフトバンク 3G において、HTTP ヘッダで application/xhtml+xml を出力し、body, h1 hr, font 要素などの特定の属性を style 属性に変換します。

Ktai Style のテンプレートタグは、従来式の HTML 記述 (font color="blue" など) となっていますが、この変換機構によりスタイルシート記述に対応するようになります。

フィルタ対象タグ一覧

WordPress が提供するテンプレートタグのうち、以下のものは本プラグインが出力をフィルタして表示を簡略化しています。

the_title()
パスワード保護された投稿の場合、「保護された投稿: 」または「保護中:」の文字列を「マル秘」絵文字に差し替えます。
the_content()
ウェブログの内容を携帯電話向けに変換して出力します。ただし、携帯電話用テンプレートでは、後述の ks_content() を使ってください (the_content() はパスワード保護された投稿に非対応のため)。
get_stylesheet()
get_stylesheet_directory()
get_stylesheet_directory_uri()
get_stylesheet_uri()
get_locale_stylesheet_uri()
get_template()
get_template_directory()
get_template_directory_uri()
get_theme_root()
get_theme_root_uri()
comments_template()
PC 向けサイトのスタイルシート/テーマ/テンプレートの代わりに携帯サイト用のスタイルシート/テーマ/テンプレートを読み込みます。
comment_text()
コメント内容を携帯電話向けに簡略化して出力します。
get_permalink()
get_page_link()
get_attachment_link()
get_year_link()
get_month_link()
get_day_link()
get_category_link()
get_tag_link()
wp_list_categories()
wp_list_pages()
すべて title 属性, rel 属性を除去し、href 属性のリンク先からホスト名を削除します。

独自フィルターフック一覧

Ktai Style 独自のフィルターフックを用意しています。以下のようにしてこのフックを利用できます。

add_filter('raw_content/ktai_style.php', '関数名');

複数の引数がある場合は、優先順位および引数の数を指定する必要があります。

add_filter('convert_link/ktai_style.php', '関数名', 10, 4);
raw_content/ktai_style.php
引数: $buffer
テンプレートによって作成された直後のページ内容をフィルターできます。文字コードはウェブログの文字コードのままです (たいていは UTF-8)。UTF-8 そのままで記述されているハートマーク等を数値実体参照に置換する処理は、このフックに処理用関数を割り当てて行なっています。
encoding_converted/ktai_style.php
引数: $buffer
文字コードを携帯電話用に変換後、ページ分割前の内容をフィルターできます。絵文字 (実体参照で記述されたハートマーク等も含む) や顔文字の変換、余分な XHTML タグや改行コードの削除はこのフックにそれぞれの処理関数を割り当てることで実施しています。優先順位 10 でフィルター追加した場合、これらの処理が終わった後の内容をフィルターすることになります。
split_page/ktai_style.php
引数: $buffer, $page_num
ページ分割を行うためのフィルターです。ページ分割処理は、このフックにページ分割関数を割り当てることで行なっています。$buffer は出力用 XHTML、$page_num は現在のページ番号 (最初のページは1) です。携帯電話各社に応じた HTML/XHTML タグ最適化は、このフックに10以上の優先順位を持つフィルターを追加することで行なってください。ページ分割前に li, dt, dd, option などの閉じタグ削除を行なっても、ページ分割処理で補完されてしまうためです。
allowedtags/ktai_style.php
引数: $allowedtags
ページ分割時に、使用を許可する XHTML タグの一覧をフィルターできます。デフォルトのタグ一覧は kses.php で定義していますので、追加したいタグを適宜修正してください。例えば、フィルター関数で
$allowedtags['style'] = array();
とすれば style 要素が使えるようになります。
leave_scheme/ktai_style.php
引数: $schemes
フルブラウザ等のリンクとせず、通常リンクのままとする URI スキーム一覧 (配列) をフィルターできます。フィルター関数で
unset($schemes['tel-av:']);
とすると tel-av スキームはフルブラウザ経由になります。
external_link/ktai_style.php
引数: $link_html, $href, $desc
外部サイトへのリン変換処理をフィルターします。$link_html は Ktai Style による処理後のリンクHTML, $href はリンク先 URL, $desc はリンク先の説明テキストです。携帯電話キャリアや種別を知りたい場合は、$Ktai_Style->is_ktai()$Ktai_Style->get('type') を使ってください。
convert_links/ktai_style.php
引数: $link_html, $orig_html, $href, $desc
a 要素によるハイパーリンクの変換処理をフィルターします。$link_html は Ktai Style による処理後のリンク HTML、$orig_html は処理前の a 要素そのもの、$href はリンク先 URL、$desc はリンク先の説明テキストです。フィルター結果を NULL にすると、a 要素の変換処理が行なわれなくなります。
image_to_link/ktai_style.php
引数: $image_html, $orig_html, $src
img 要素による画像をリンクに変換する処理をフィルターします。$image_html は Ktai Style による変換後の画像 HTML、$image は変換前の img 要素そのもの、$src は画像のソース URL です。フィルター結果を NULL にすると、画像からリンクへの変換処理が行なわれなくなります。

上記フックでは既定のフィルターを定義していますが、以下の通りにして削除することも可能です。

remove_filter('raw_content/ktai_style.php', array($Ktai_Style->ktai, 'shrink_pre_encode'), 9);
remove_filter('encoding_converted/ktai_style.php', array($Ktai_Style->ktai, 'shrink_pre_split'), 5);
remove_filter('encoding_converted/ktai_style.php', array($Ktai_Style->ktai, 'replace_smiley'), 7);
remove_filter('encoding_converted/ktai_style.php', array($Ktai_Style->ktai, 'convert_char'), 9);
remove_filter('split_page/ktai_style.php', array($Ktai_Style->ktai, 'split_page'), 5);
remove_filter('split_page/ktai_style.php', array($Ktai_Style->ktai, 'shrink_post_split'), 9);

独自タグ一覧

出力される XHTML が簡略化されたテンプレートタグを用意しています。これらの関数はテンプレートが読み込まれる直前に有効となるため、他のプラグインから使えません。

is_is_front()
サイトの最初のページかどうかを判断します。is_home() かつ1ページ目であれば TRUE となります。
ks_is_comments_list()
コメント一覧ページであれば TRUE になります。
ks_is_comment_post()
コメント投稿ページであれば TRUE になります。
ks_is_comments()
コメント一覧ページまたはコメント投稿ページであれば TRUE になります。
ks_option($name)
本プラグインのオプション設定値を返します。
$name: オプション名
ks_header()
ヘッダーを出力します (get_header() は使えません)。
ks_footer()
ヘッダーを出力します (get_footer() は使えません)。
ks_blogurl($echo)
ウェブログの URL を出力します。ホスト名を省略した絶対パスに変換し、末尾にスラッシュが付きます。
$echo: TRUE の場合、画面に出力します。FALSE の場合、関数の返り値とします。
ks_siteurl($echo)
WordPress がインストールされている URL を出力します。ホスト名を省略した絶対パスに変換し、末尾にスラッシュが付きます。
$echo: TRUE の場合、画面に出力します。FALSE の場合、関数の返り値とします。
ks_plugin_url($echo)
プラグインのあるディレクトリにアクセスできる URL を出力します。末尾にスラッシュが付きます。
$echo: TRUE の場合、画面に出力します。FALSE の場合、関数の返り値とします。
ks_theme_url($echo)
携帯電話用テーマのディレクトリーにアクセスできる URL を出力します。末尾にスラッシュが付きます。
$echo: TRUE の場合、画面に出力します。FALSE の場合、関数の返り値とします。
ks_admin_url($echo)
管理画面にログインしたときの最上位 URL を出力します。末尾にスラッシュが付きます。
$echo: TRUE の場合、画面に出力します。FALSE の場合、関数の返り値とします。
ks_login_link($before, $after, $echo)
ktai_style/admin ディレクトリーがあれば、ログイン画面へのリンクを出力します。末尾にスラッシュが付きます
$before: リンクの前に出力する文字列
$after: リンクの後ろに出力する文字列
$echo: TRUE の場合、画面に出力します。FALSE の場合、関数の返り値とします。
ks_get_logout_url()
ログアウト用の URL を返します。
ks_is_loggedin()
携帯電話でログインしているかどうかを返します。
ks_session_id_form()
コメントフォームなどで、ログイン中のセッション ID を引き継ぐための HTML を出力します。
ks_get_wp_version()
WordPress のバージョンを返します。WordPress ME の場合、「ME」という文字列を除いた数字部分となります。
ks_term_name()
携帯電話の機種名を表示します。不明時は N/A という文字列になります。au の場合、デバイス ID ではなく、一般的な機種名に変換します。
ks_use_appl_xhtml()
DoCoMo FOMA, EZweb の WAP2.0 対応端末、および SoftBank 3G のとき、HTTP ヘッダーの MIME タイプを application/xhtml+xml に変更し、以下の html 要素を出力します。また、font 要素の color 属性を span 要素の style 属性に変換するなど、いくつかの XHTML 属性をスタイルシートに変換します (詳細は「↑スタイルシートの利用」を参照)。
<html xmlns="http://www.w3.org/1999/xhtml">
header.php の先頭で使い、かつ、<html> という記述は消しておく必要があります。でないと html 要素がダブって文法違反になります。
ks_force_text_html()
MIME タイプを text/html に強制します。header.php の先頭で使う必要があります。
ks_mimetype()
携帯電話サイトの MIME タイプを出力します。
ks_charset()
携帯電話サイトの文字コードを出力します。
ks_fix_encoding_form()
入力フォームにおいて、文字化け防止のための文字コード判別用隠しフィールドを追加します。
ks_detect_encoding()
文字コード判別用隠しフィールドをもとに、文字コードを判別します。入力フォームの処理部分で使います。
ks_mb_get_form($key, $charset)
フォームの値をウェブログ文字コード (ほとんどの場合 UTF-8) に変換して返します。フォームには、ks_fix_encoding_form() で文字コード判別用隠しフィールドを埋め込んでおいてください。
ks_is_required_term_id()
端末 ID を要求している状態ならば TRUE になります。具体的には、管理画面で「コメント投稿者の端末 ID 送信を必須とする」を「はい」にしていて、かつ、閲覧者がドコモ/au/ソフトバンク端末の場合を示します。
ks_require_term_id_form($action, $method)
端末 ID を要求するフォームを作ります。
$action: フォームの送信先
$method: post, get のいずれか
ks_title()
ページのタイトルを出力します。ブラウザーウィンドウのタイトルに使われます。wp_title() よりも短い表示になります。
ks_content()
ウェブログの内容を携帯電話向けに変換して出力します。外部へのリンクを削除/インライン画像をリンクに変換/拙作の Ktai Location が挿入した位置情報 URL を削除など。
ks_check_password($message)
パスワード保護された投稿かどうか確認します。保護されていないか、正しいパスワードが入力されれば、NULL を返します。保護されていて、かつ、パスワードが正しくなければパスワード入力フォームを返します。
$message: 入力フォームの上に出すメッセージ
ks_time($year, $month_date, $time)
現在日時に応じて適切に短縮した投稿日時を出力します。投稿日と現在が同じ年ならば年を省略、同じ年月日ならば年月日を省略します。日だけの表示はおかしいので、年月だけが同じのときは、年だけの省略となります。フォーマットに使う文字列は PHP の date() 関数と同じです。引数を省略すると、プラグイン設定画面に入力したフォーマットとなります。
$year: 年月日を表示する場合のフォーマット (去年以前の日付)
$month_date: 月日を表示する場合のフォーマット (今年の日付)
$time: 時刻のフォーマット
ks_comment_datetime($year, $month_date, $time)
現在日時に応じて適切に短縮したコメント日時を出力します。コメント日と現在が同じ年ならば年を省略、同じ年月日ならば年月日を省略します。日だけの表示はおかしいので、年月だけが同じのときは、年だけの省略となります。フォーマットに使う文字列は PHP の date() 関数と同じです。引数を省略すると、プラグイン設定画面に入力したフォーマットとなります。
$year: 年月日を表示する場合のフォーマット (去年以前の日付)
$month_date: 月日を表示する場合のフォーマット (今年の日付)
$time: 時刻のフォーマット
ks_orderd_link($count, $max , $link, $desc)
携帯電話の絵文字を使った数字付きリストの出力を行います。使い方は index.php を参照してください。
$count: 出力したい数字。accesskey 用の番号にもなります。
$max: 絵文字を使う最大値。これより $count が大きければ、絵文字の代わりに □ (四角) になります。
$link: リンク文字列。
$desc: リンク文字列。この引数を省略すると、閉じタグ (</a>) は出力しません。
ks_link_pages($args = '')
wp_link_pages() の代わりとなる、分割ページ用ナビゲートタグです。パスワード保護された投稿で認証ずみの場合は、アンカーリンクではなく、隠しフィールドにパスワードを埋め込んだフォームボタンが表示されます。このため、パスワードの再入力なしにページ遷移が可能です。
$args: 各種パラメーター (wp_link_pages() と同じ仕様)
ks_pagenum($before, $after)
指定したコンテンツが複数ページに分かれている場合、現在のページ番号を出力します。1ページのみの場合は何も出力されません。例えば、2007年9月の記事が2ページに渡る場合、1/2, 2/2 などと表示されます。
ks_previous_post_link($format, $link, $in_same_cat, $excluded_categories)
前の投稿へのナビゲーションリンクを出力します。引数は previous_post_link() と同じ仕様です。
ks_next_post_link($format, $link, $in_same_cat, $excluded_categories)
次の投稿へのナビゲーションリンクを出力します。引数は next_post_link() と同じ仕様です。
ks_posts_nav_link($sep, $before, $after)
前後のページへのナビゲーションリンクを出力します。
$sep: 間に挟まれる分離文字列。
$before: リンクの前に付ける HTML タグ
$after: リンクの後ろに付ける HTML タグ
ks_posts_nav_multi($num, $first, $last)
複数の前後ページおよび先頭・末尾ページへのナビゲーションリンクを出力します。accesskey の表示は出ませんが前後ページへ移動に対応しています。
$num: 前後何ページリンクするかの数
$first: 「先頭」を示す文字列
$last: 「末尾」を示す文字列
ks_posts_nav_dropdown()
ポップアップ (ドロップダウン) 式のページナビゲーションを出力します。ページ数が多くて吐き出す XHTML のサイズが携帯電話の制限を越える場合は、出力が抑制されます。index.php では出力されない場合が多いため使用しないでください。附属テンプレートでは archive.php にのみ使用しています。
ks_get_comments_list_link($post_id)
コメント一覧ページを示す URL を返します。
$post_id: 対象とする投稿 ID。投稿ループの中では空でよい。
ks_comments_link($icon, $zero, $one, $more, $none, $sec, $accesskey)
コメント数を表示し、コメント一覧へのリンクとして出力します。
$icon: リンクの前に置く絵文字
$zero: コメントなしを示す文字列
$one: コメント1件を示す文字列
$more: コメント2件以上を示す文字列。「%」があればコメント数に置換されます。
$none: コメント停止中を示す文字列
$sec: パスワード保護している投稿を示す文字列
$accesskey: アクセスキー文字列
ks_comment_post_link($desc, $before, $after, $icon, $accesskey)
コメント投稿フォームへのリンクを出力します。
$desc: リンク先の説明
$before: リンクの前に置く文字列 (絵文字等)
$after: リンクの後に置く文字列
$icon: リンク先説明の前に置く絵文字 (デフォルトは鉛筆の絵)
$accesskey: アクセスキー文字
ks_back_to_post($icon, $desc)
記事に戻るリンクを出力します。
$icon: リンクの前に置く絵文字
$desc: リンク先の説明
ks_get_recent_comments($num, $type)
最新コメント一覧を配列で返します。
$num: コメント表示数
$type: コメントの種類を示す文字列
  (なし): コメント・トラックバック・ピンバックを混在
  comment: コメントのみ
  trackback: トラックバックのみ
  pingback: ピンバックのみ
  trackback+pingback: トラックバック・ピンバックを混在
ks_category($separator)
表示している投稿が属するカテゴリーの一覧を出力します。
$separator: カテゴリーごとの区切り文字列
ks_tags($before, $after, $separator)
表示している投稿に付与されているタグ一覧を出力します。タグが付いてないときは何も出力しません。
$before: 一覧の前に置く文字列 (絵文字等)
$after: 一覧の後に置く文字列
$separator: タグごとの区切り文字列
ks_tag_cloud($args)
タグクラウドを出力します。wp_tag_cloud() と同じ動作をしますが、余計な空白や title 属性、rel 属性などを除去しています。
ks_get_archives($args)
アーカイブ一覧を出力します。wp_get_archives() の結果から、余計な空白や title 属性を除去して出力します。
$arg: ks_get_archives() と同じ仕様のパラメーター
ks_list_bookmarks($args)
ブックマーク(ブログロール)一覧を出力します。wp_list_bookmarks() の結果から、余計な空白や title, rel 属性を除去して出力します。
$arg: wp_list_bookmarks() と同じ仕様のパラメーター
ks_pages_menu($sep, $before, $after)
固定ページへのナビゲーションを出力します。
$sep: 項目ごとの区切り
$before: 前に付ける HTML タグ
$after: 後ろに付ける HTML タグ
ks_switch_pc_view($before, $after)
「その他」端末の場合、PC 表示に切り替えるかリンクを出力します。
$before: リンクの前に置く文字列
$after: リンクの後に置く文字列

ページ分割機能用タグ

<!--start paging-->
<!--end paging-->
ページ分割機能において、分割対象領域を示します。この2つに挟まれた区間が分割され、前者より上/後者より下にある XHTML コードはすべてのページに出力されます (共通領域)。前者が存在しないときは <body> タグ、後者が存在しないときは「<hr /><a name="tail"」という文字列もしくは </body> タグを代わりに使います。
なお、共通領域が広くて分割に使えるバイト数があまりに少ないとき (256 バイト未満) は、強制的に <body>〜ページ終端を分割対象とします。

他のプラグインとの連携

他のプラグインにおいて、PC 向け出力か携帯電話出力かを区別できるよう、以下の関数を用意しています。

is_ktai()
携帯電話出力なら、事業者名を返します。(DoCoMo, KDDI, SoftBank, WILLCOM, Unknown のいずれか)

本プラグインが有効・無効にかかわらずエラーが出ないよう、次のようにして使ってください。

if (function_exists('is_ktai') && is_ktai()) { ?>
<img localsrc="334" alt="[new] " />
<?php }

次は、携帯電話でない場合にスタイルシートを追加する例です。この判別方法は、Mobile Eye+ を使っている場合や、WPhone Admin Plugin をインストールしている場合にも対応します。

if ((! function_exists('is_mobile') || ! is_mobile()) 
 && (! function_exists('is_ktai')   || ! is_ktai())) { ?>
<style type="text/css" media="all">
.locationurl { display:none; }
</style>
<?php }

以前は、原則として is_mobile() 関数を提供し、WPhone Admin Plugin が存在するときのみ、名前の衝突を避けるため is_ktai() に名前を変えていました。

しかし、WPhone プラグインの提供する is_mobile() 関数は SoftBank PDC 端末を検出しないことが判明したため、is_mobile() だけで携帯電話かどうかの判定を行うことができず、is_ktai() 関数も併用する必要が出てしまいました (具体的なコードは上記の通り)。

そうなると、Mobile Eye+ との互換性を取るために、Mobile Eye+ でも使っている関数名である is_mobile() という名前にする、という措置も無意味となってしまいました。このため、バージョン 0.98 より is_ktai() 関数に一本化することとしました。

# WPhone Admin Plugin の作りが悪い、とも言えますね ;-)