ここでは、携帯サイトの見た目を変更する方法を説明します。管理画面での設定による方法と、携帯表示用テンプレートの改造による方法があります。
使用するテーマを選択します。初期状態では以下の6つのテーマがあります。「スタイルシート利用」と書かれたテーマは、mova, ソフトバンク PDC、ウィルコムにおいて、白抜き文字部分が反映されず、少し貧弱な表示になります。
携帯電話キャリアごとにテーマを変更できますが、通常は「共通テーマと同じ」のままで構いません。
携帯サイトの見栄えを変更できます。
<img localsrc="NNN" />
のフォーマットに変換します。「認めない」を選択すると絵文字を削除します。※バージョン 0.97 以降、外部サイトへのリンクは原則として残すことにしました。もし、外部サイトへのリンクを一律に削除したい場合は、使用している携帯テーマの functions.php に以下のコードを入れてください。
<?php function ks_delete_external_links($link_html, $href, $label, $icon) { return $label; } add_filter('ktai_external_link', 'ks_delete_external_links', 90, 4) ?>
逆に、外部リンクを一律に直接リンクしたい場合は、使用している携帯テーマの functions.php に以下のコードを入れてください。
<?php function ks_direct_external_link($link_html, $href, $label, $icon) { return '<a href="' . attribute_escape($href) . '">' . $label . '</a>'; } add_filter('ktai_external_link', 'ks_direct_external_link', 90, 4); ?>
要所要所の文字色を変更できます。設定値は #rrggbb の16進表記で記述します。HTML では一般的な書式です。値を入力すると、リアルタイムに色見本が変更され、色の確認がしやすくなっています。なお、Ktai Style の標準テーマ以外では設定が反映されない場合があります。
※背景色・通常の文字色・リンク色・訪問済みリンク色は、設定画面ではなく、テーマの header.php を改造してください。bgcolor, text, link, alink, vlink 属性を入れた body 要素をコメント化して準備してありますので、既存の body 要素と入れ換え、属性値を設定すれば OK です。使わない属性値は削除してください。なお、text 要素を設定した場合、iモード絵文字はデフォルトの色ではなく、すべて text 属性で指定した色になってしまいます。デフォルトの絵文字色を生かしたい場合は text 属性は使わないでください。
投稿やコメントの日付および時刻書式を変更できます。WordPress 一般設定の日付書式は、原則として使っていません (記事タイトルの上に表示する日付は一般設定を適用)。
これは、「今年の日付は年を省略して表示する」「今日の日付は時刻のみ表示する」という短縮処理を行うためです。したがって、それぞれの状況に応じて書式を設定する必要があります。
フォーマットに使う文字列は WordPress の設定画面と同じ (PHP の date()
関数と同じ) です。
Y-m-d
という ISO フォーマットです。スラッシュ区切りや日本語表記に変更して構いません。なお、年・月・日を示す文字それぞれが含まれる必要があります。Y/m/d , Y年n月j日, M jS, Y
n/j, Y年n月
n/j H:i
という書式です。年省略では ISO フォーマットは不自然なためです。少なくとも月・日を示す文字列それぞれが含まれる必要があります。時分は省略可能です。H:i
となります。日または時が必須です。本プラグインのテンプレートは、WordPress のテーマとほぼ同じ構造です。このため、WordPress のテーマを制作・改造したことがあれば、同じ要領で改造することができます。附属テーマの色を変更する改造をウェブで解説していますので、こちらも参照ください。
独自のテーマを作るときは、既存テーマのフォルダーを複製して好きな名前を付け、その複製に対して作業してください。default テーマを直接改造することは避けてください。独自テーマは、wp-content/ktai-themes/ ディレクトリーを作成して、そこに格納することをおすすめします。また、style.css を開いて、テーマ名称などを独自のものに変更しておいてください (style.css の書式は後述)。ktai-style/themes/ ディレクトリーに入れたものは、プラグインを自動アップデートすると消されます。
なお、プラグインのソースコードおよびテンプレートは原則として英数字のみで記述されています。改造時に日本語文字列を入れる場合は、「ウェブログの文字コードと同じコード」(たいてい UTF-8) で保存してください (Mac, Windows のテキストエディターの場合、英数字のみのファイルに日本語を追加すると Shift_JIS で保存することが多いため要注意!!)。
併用する他のプラグインは、携帯電話表示のとき動作しないものがあります。この場合、header.php で ks_wp_head()
の引数を KTAI_DO_PC_HEAD
に変更したり、footer.php で ks_wp_footer()
の引数を KTAI_DO_PC_HEAD
に変更すると動作する場合があります (デフォルトではこれらの引数は KTAI_NONE_PC_HEAD
)。
Green, Loving, Monolith, Redportal テーマは、それぞれの header.php でカラーテーマを定義しています。ここを変更すると、罫線色、見出しの背景色などを一括して変更できます。ただし、シングルポスト (single.php) やコメント一覧 (comments.php) などで、独自に色を定義している場合もあります。
Green, Loving テーマでは、アイコン画像・フレーム画像の代替品を添付しています。デフォルトの蝶アイコンやゴシック風フレームと差し替えれば利用可能です。画像ファイル名を変更するか、header.php でファイル名を指定する部分を変更するかしてください。Loving テーマの場合、フレーム画像を変更するのは少し難しいため、header.php 自体を置き換えるようにしています (header-bugle.php, header-lip.php を header.php にリネームする)。
add_action('wp_head');
を利用しているプラグインの場合、このテンプレートにある ks_wp_head()
の引数を KTAI_DO_PC_HEAD
に変更すると動作するようになります。$ks_settings
引数にてカラースキームおよびページ表示オプションを定義しています。カラースキームは、テンプレートファイルで $ks_settings
引数の使用箇所を探してみれば使い方が分かると思います。ページ表示オプション ($ks_settings['list_pages']
) は、menu_pages.php テンプレート (後述) およびフッターでページ一覧を表示するときに使う wp_list_pages(), ks_pages_menu()
に与えるオプションです。ソート順 (sort_column
)、除外するページ ID (exclude
) などを指定すると便利でしょう。add_action('wp_footer');
を利用しているプラグインの場合、このテンプレートにある ks_wp_footer()
の引数を KTAI_DO_PC_HEAD
に変更すると動作するようになります。comments_template()
タグで呼び出されます。以上は WordPress の仕様に従って呼び出されます。もし、category-10.php というテンプレートを追加すれば、カテゴリー ID = 10 のアーカイブにはこのテンプレートが利用されます。
固定ページに独自のページテンプレートを割り当てている場合、携帯表示でも同じファイル名のページテンプレートが自動的に呼び出されます。例えば、PC 向けの Default テーマでは links.php というファイル名でブログロールを表示するテンプレート (リンクテンプレート) がありますが、これを使用している場合、携帯テーマに links.php というファイル名のテンプレートを作っておけば、それが呼び出されます。ちなみに、携帯用リンクテンプレートを作るには、(後述の) menu_links.php の複製を作って links.php というファイル名にすれば OK です。
以後は本プラグイン独自のテンプレートです。 ウェブログ直下の URL に「?menu=XXXX」というクエリー文字列を付けると呼び出されます。使用しているテーマに該当の menu_XXXX.php ファイルが存在しない場合、Default テーマの同一名のファイルが呼び出されます。
例: http://blog.example.jp/?menu=months
ks_blogurl(false) . '?menu=months'
の部分を ks_blogurl(false) . '?menu=years'
に変更すれば、アーカイブが年別の表示になります。<a href="<?php ks_blogurl(); ?>?menu=links">リンク</a>
ks_redir_has(), ks_redir_get(), ks_redir_same_host()
を利用して、どの状況かを判断して適切な内容を表示させてください。ks_redir_get('full_url')
に PC サイトの URL あり。ks_redir_get('mobile_url')
が NULL、ks_redir_same_host()
が falseks_redir_get('full_url')
に PC サイトの URL あり。ks_redir_get('mobile_url')
に携帯サイトの URL あり。ks_redir_same_host()
が falseks_redir_get('full_url')
に PC サイトの URL あり。ks_redir('mobile_url')
に携帯サイトの URL あり。ks_redir_same_host()
が trueks_redir_get('full_url')
に PC サイトの URL あり。ks_redir_get('mobile_url')
に携帯サイトの URL あり (ks_redir_get('full_url')
と同じ値)。ks_redir_same_host()
が trueks_redir_get('full_url'), ks_redir_get('mobile_url'), ks_redir_same_host()
すべて NULL または false上記の他、テーマディレクトリーの配下に、独自の menu_XXX.php ファイル (XXX は英小文字、数字とアンダースコア(_) のみ) を作れば、?menu=XXX というクエリーが有効になります。例えば、menu_popular.php というファイルを作って、人気記事をリストするようなテンプレートとしておけば、http://blog.example.jp/?menu=popular などの URL で人気記事を出すページが作れます。PC 向けテーマではサイドバーに入れているものを、携帯版では独立したページに切り出して提供するなどの構成が可能です。
テンプレートや投稿本文で以下の XHTML タグを使えば絵文字を挿入できます。EZweb の絵文字と同じ仕様です。
<img localsrc="999" alt="代替文字" />
localsrc 属性に絵文字番号 (上記の場合 999)、alt 属性は絵文字の代替文字です (PC やスマートフォンなど絵文字非搭載の端末向け)。絵文字番号は以下のものが使えますが、EZweb 絵文字番号を使うことを推奨します。単なるアイコンなど代替文字が必要ない場合は、alt 属性を省略せずに、中身なしの alt 属性 (alt=""
) を入れてください (省略した場合は既定の代替文字が入ってしまいます)。
サービス | 値 | 説明 |
---|---|---|
EZweb | 1〜822 | 10進数で EZweb 絵文字番号にそのまま対応 |
SoftBank | se001〜se53e | s を除いた部分は16進数4ケタで、ソフトバンク絵文字の UNICODE 値に対応。 |
i-mode | d001〜d276 | d を除いた部分は10進数。1〜176 は基本絵文字、201〜276 は拡張絵文字 1〜76 に対応。 |
WILLCOM | d001〜d276 | i-mode と同じ |
wf040〜wf15f | w を除いた部分は16進数4ケタで、ウィルコム絵文字の Shift_JIS コードに対応 | |
EMnet | 001〜d276 | i-mode と同じ |
e253〜e278 | e を除いた部分は10進数で、イー・モバイル絵文字 253〜278 に対応。 |
ドコモ端末、ソフトバンク端末に対しては、似たような絵文字に自動的に変換されます。ウィルコム端末については、ウィルコム独自絵文字で似た絵文字があればそれを使い、なければ i モード互換絵文字に変換します。変換テーブルは独自のもので、キャリア公式のものとは微妙に異なっています。具体的な変換内容についてはソースコード (emobile.php, ezweb.php, i-mode.php, softbank.php, willcom.php) を参照してください。
PC やスマートフォンで閲覧した場合、絵文字は alt 文字列の内容に置換されます。alt 属性が存在しない場合、既定の代替文字を使います (services.php で定義)。
投稿やページでの画像 (img 要素) は、より小さいサムネールにするか (3G, ウィルコム, スマートフォン等)、リンクに変換します (PDC 端末) が、携帯電話でも画像をそのまま表示させたい場合は、その img 要素に
class="ktai"
という属性を追加してください。すでに class 属性があるなら、既存の class の後ろに空白を入れて ktai と書けばよいです。
例: <img src="/qr.png" class="noframe ktai" />
なお、画像のサイズが大きくてページの全体サイズが携帯端末の表示容量を越える場合は、画像を alt テキストの内容に置換して容量制限に収まるようにしています。複数の画像がある場合は、後ろの画像から順にテキスト化されます (前の画像を極力残します)。
ただし、画像サイズのチェックはウェブログ内の画像 (uploads フォルダー配下、プラグイン用画像、テーマ用画像など) に限られ、外部サイトの画像は対象外です。外部サイトの画像に class="ktai"
を付けて表示させた場合、携帯端末の容量制限を越えてしまう可能性があります。
JPEG 画像は、ほぼすべての端末で表示できますが、PNG 画像は i-mode (ドコモ) で表示できず、GIF 画像は Softbank の PDC 端末で表示できません。Ktai Style では、端末に応じてどちらか適切なフォーマットの画像を表示させることができます。
PNG や GIF 画像を使いたい場合は、同じファイル名で PNG フォーマット、GIF フォーマットの画像をそれぞれ用意してください。そして、img 要素の src 属性では、PNG 画像か GIF 画像どちらかを呼び出してください。PNG 画像の呼び出しは i-mode において GIF 画像に、GIF 画像の呼び出しはソフトンバク PDC において PNG 画像に変更されます。
<img src="<?php ks_theme_url(); ?>title.png" class="ktai" />
<img src="<?php ks_theme_url(); ?>map.gif" class="ktai" />
※Ktai Style 1.10 から、PNG, GIF どちらかの画像から片方の画像を作るようにしました。それでも、あらかじめ title.png, title.gif や map.gif, map.png それぞれを作っておくことをおすすめします (特に携帯テーマ用の画像の場合)。
default, compact, redportal テーマでは、WordPress の標準動作と異なり、コメント投稿時に必須事項 (コメント本文、名前、携帯電情報など) が記入されてないとき、コメントフォームを再び表示してその上部にエラーを出します (エラーのインライン表示)。classic テーマは、WordPress 標準の動作である、エラー画面に遷移となります。この場合、携帯電話の機種によっては、前の画面に戻ったとき、入力内容が消えてしまうことがあります。
エラーをインライン表示にするには、submit ボタンを ks_inline_error_submit()
テンプレートタグを使って出力します。
<?php ks_inline_error_submit(__('Say It!')); ?>
<input type="submit" name="submit" value="<?php _e('Say It!'); ?>" />
ドコモ 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()
テンプレートタグを使うことにより、ドコモ 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()
はパスワード保護された投稿に非対応のため)。the_excerpt(), get_the_excerpt
comments_template()
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_cats()
wp_list_categories()
wp_list_pages()
Ktai Style 独自のアクションフックを用意しています。以下のようなコードを、携帯テーマの functions.php, 独立したプラグインファイル(後述)、もしくは my-hacks.php に記述すれば利用可能です。
add_action('ktai_init_pc', 'フック関数名');
WordPress 2.8 以降の場合、my-hacks.php を有効にするのは難しいため、以下のような内容をテキストファイル (ファイル名は ks_hooks.php など *.php とする) に書き出すことで独立したプラグインを作成します。それを wp-content/plugins ディレクトリーにアップロードし、プラグイン管理画面で有効にすれば OK です。複数のカスタマイズを1つのファイルにまとめても構いません。
<php /* Plugin Name: Ktai Style Hooks Version: 1.80 */ add_action('ktai_init_pc', 'フック関数名'); /* その他カスタマイズ内容 */ ?>
ks_wp_head()
の内部で実行されるアクションです。wp_head アクションの携帯版です。ks_wp_footer()
の内部で実行されるアクションです。wp_footer アクションの携帯版です。Ktai Style 独自のフィルターフックを用意しています。以下のようなコードを、携帯テーマの functions.php, 独立したプラグインファイル、もしくは my-hacks.php に記述すれば利用可能です。
add_filter('ktai_raw_content', 'フック関数名');
複数の引数がある場合は、優先順位 (デフォルトは10) および引数の数を指定する必要があります。
add_filter('ktai_convert_link', 'フック関数名', 10, 4);
$ktai, $ua
$ktai
は端末ごとのオブジェクトです (PC と判別された場合は NULL)。$ua
はユーザーエージェント文字列です。判別結果を変更する場合は、既存の $ktai
オプジェクトを破棄してから、新たなオブジェクトを生成して返り値とします。例えば、iPhone, iPod touch を「その他端末」として判別させる場合は以下の通りとします。
<?php function ks_detect_iphone($ktai, $ua) { if (preg_match('/\(iP(hone|od);/', $ua)) { if ($ktai) { unset($ktai); } $ktai = new KtaiService_Other($ua); } return $ktai; } add_filter('ktai_detect_agent', 'ks_detect_iphone', 10, 2); ?>※重要このフィルターを使うフック関数および呼び出し用の
add_filter()
は、my-hacks.php に記述するか、独立したプラグインファイルとして記述する必要があります。他のフィルターと異なり、携帯テーマの functions.php に入れても読まれません (携帯テーマの functions.php を読む前に携帯端末の判別を行うため)。$search_ip
$smiles
$smiles
は配列で、キーはスマイリーのファイル名 (icon_XXXX.gif) で、値は現在閲覧しているキャリアに対応した絵文字の文字コード (ソフトバンクの場合ウェブコード) です。たいていの場合、フィルター関数では、is_ktai()
を使ってキャリア別に処理する必要があるでしょう。例えば以下のようにします。
<?php function ks_correct_smiley($smiles) { switch (is_ktai()) { case 'DoCoMo' : $smiles['icon_question.gif'] = KtaiService_DoCoMo::$pics['d159']; // use "!?" break; } return $smiles; } add_filter('ktai_smiley_table', 'ks_correct_smiley'); ?>
$trans
<img localsrc="XXXX" />
フォーマットから実際の絵文字に変換するときのテーブルをフィルターします。$trans
は配列で、キーは絵文字番号 (XXXX 部分)、値は現在閲覧しているキャリアに対応した絵文字の文字コード (ソフトバンクの場合ウェブコード) です。$converted, $number, $alt, $charset
$converted
は Ktai Style 既定の代替文字列に置き換えた結果、$number
は絵文字番号、$alt
は <img localsrc...
に書かれた alt 文字列です。空の alt 文字列ならば空文字列が、alt が存在しなければ NULL が入ります。$charset
は $converted, $alt
の文字コードです (スマートフォン等「その他」端末では SJIS-win, PC の場合はウェブログの文字列 (たいてい UTF-8) です。PC でもフィルターを使うためには、my-hacks.php もしくは独立したプラグインファイルにフィルタ関数および add_filter を書く必要があります。$buffer
$buffer
$buffer, $page_num
$buffer
は出力用 XHTML、$page_num
は現在のページ番号 (最初のページは1) です。携帯電話各社に応じた HTML/XHTML タグ最適化は、このフックに10以上の優先順位を持つフィルターを追加することで行なってください。ページ分割前に li, dt, dd, option などの閉じタグ削除を行なっても、ページ分割処理で補完されてしまうためです。$allowedtags
$allowedtags['style'] = array();
$navi, $prev, $num, $next
$navi
は、メニュー用 HTML、$prev
は1つ目の変数で「*. 前へ」のリンク HTML、$num
は2つ目の変数で現在のページ数、$next
は3つ目の変数で「次へ.#」のリンク HTML です。$html, $url, $ext
$html
は出力用HTML, $url
はロゴの URL、$ext
は、閲覧している端末に応じた画像拡張子 (png または gif) です。WordPress ロゴをサイトのロゴに差し替えたいときに使えます。$html, $url, $ext
$html
は出力用HTML, $url
はロゴの URL、$ext
は、閲覧している端末に応じた画像拡張子 (png または gif) です。WordPress ロゴをサイトのロゴに差し替えたいときに使えます。$html, $full_url, $mobile_url
$html
はXHTML で記述された内容、$full_url
はジャンプ先 URL、$mobile_url
は発見された携帯サイトの URL です (ジャンプ先 URL とホスト名が異なるときのみ設定。ホスト名が同一のときは中継ページが出ずに自動的にリダイレクトします。常に中継ページを出したいときは、定数 KTAI_ALWAYS_RELAY_PAGE を true として設定してください)。$html
$schemes
unset($schemes['tel-av:']);
$link_html, $href, $label, $icon
$link_html
は Ktai Style による処理後のリンクHTML, $href
はリンク先 URL, $label
はリンク文字列 (XHTML)、$icon
は外部サイトを示す絵文字アイコン (img 要素)です。携帯電話キャリアや種別を知りたい場合は、is_ktai(), ks_service_type()
を使ってください。$url_pat
<?php function ks_add_mobile_sites($url_pat) { $url_pat[] = 'http://blog\.example\.jp/'; return $url_pat; } add_filter('ktai_mobile_same_url', 'ks_add_mobile_sites'); ?>
$url_pat
http://[-\w]+.(cocolog|air|moe|tea|txt|way)-nifty\.com/
というパターンがあって、ココログのフロントページである http://www.cocolog-nifty.com/ もマッチしてしまいます。しかし、この URL 配下のページは完全に携帯対応しておらず、中継ページなしでリダイレクトするのはふさわしくありません。といって、正規表現で www.cocolog-nifty.com だけ外す記述は難しいため、除外サイトを設定する、という手段を用意しました。mobile_same_url フィルターで追加した URL パターンで似た状況があれば、none_mobile_url フィルターも使ってみてください。$link_html, $orig_html, $href, $label
$link_html
は Ktai Style による処理後のリンク HTML、$orig_html
は処理前の a 要素そのもの、$href
はリンク先 URL、$label
はリンク文字列です。フィルター結果を NULL にすると、a 要素の変換処理が行なわれなくなります。$image_html, $orig_html, $src
$image
は変換前の img 要素そのもの、$src
は画像のソース URL です。フィルター結果を NULL にすると、画像からリンクへの変換処理が行なわれなくなります (画像がそのまま表示される)。$image_inline
$image_inline
が true となっています。この値をそのまま返すと、画像をインライン表示します。常に false を返せば、端末によらず、「画像をリンクにする」がデフォルトになります。逆に、常に true を返すと、2G 端末でも画像をインライン表示してしまいます (おすすめしません)。フィルター関数の例は以下の通りです。
<?php function ks_image_link_default($image_inline) { return false; } add_filter('ktai_image_inline_setting', 'ks_image_link_default'); ?>
$size
$size
$menu, $before, $after, $color
$menu
は切り替えメニュー HTML、$before, $after
は切り替えメニューの前後につく XHTML (ks_switch_inline_images()
の引数)、$color
はリンクの色指定です。$html, $align, $margin, $style
$html
は img 要素の HTML タグ全体。$align
は回り込みの指定 (alignleft, alignright, alignnone)、$margin
はマージン値、$style
は img 要素に追加したスタイル記述です (端末によって style 属性の場合と、align 属性の場合があります)。回り込みを解除するには、$html = $style ? str_replace($style, '', $html) : $html;
$menu, $path, $before, $after, $color
$menu
は切り替えメニュー HTML、$path
は現在 URI のパス部分 (URI のスラッシュ以降)、$before, $after
は切り替えメニューの前後につく XHTML (switch_pc_view()
の引数)、$color
はリンクの色指定です。$style
$style
は XHTML の head 要素に入るスタイルシートそのもの (<style type="text/css"> などの style タグは含みません)。デフォルトのスタイルでは、PC 表示が崩れてしまうときにフィルターを利用して見栄えを調整してください。$menu, $path
$menu
は切り替えメニュー HTML、$path
は現在 URI のパス部分 (URI のスラッシュ以降) です。上記フックでは既定のフィルターを定義していますが、以下の通りにして削除することも可能です。
remove_filter('ktai_raw_content', array($Ktai_Style->ktai, 'shrink_pre_encode'), 9); remove_filter('ktai_encoding_converted', array($Ktai_Style->ktai, 'shrink_pre_split'), 5); remove_filter('ktai_encoding_converted', array($Ktai_Style->ktai, 'replace_smiley'), 7); remove_filter('ktai_encoding_converted', array($Ktai_Style->ktai, 'convert_pict'), 9); remove_filter('ktai_split_page', array($Ktai_Style->shrinkage, 'add_image_inline'), 7); remove_filter('ktai_split_page', array($Ktai_Style->shrinkage, 'split_page'), 9, 2); remove_filter('ktai_split_page', array($Ktai_Style->ktai, 'shrink_post_split'), 15); remove_filter('ktai_split_page', array($Ktai_Style->shrinkage, 'trim_images'), 20);
出力される XHTML が簡略化されたテンプレートタグを用意しています。これらの関数はテンプレートが読み込まれる直前に有効となるため、他のプラグインでは、そのプラグインが add_action(), add_filter()
で追加したコールバック関数の中でのみ使えます。
ks_option($name)
$name
: オプション名ks_post_password_required($post)
$post
(投稿 ID もしくは post オブジェクト) を与えてください。ks_service_type()
ks_is_flat_rate()
ks_ext_css_available()
ks_in_network($allow_search_engine)
$allow_search_engine
: true にすると、各種モバイル向け検索エンジンのクロールでも true を返します (デフォルトは false)。$type
が指定されていない場合、menu_XXXX.php を使用した出力の場合 true を返します。is_home()
は、menu_XXXX.php を使った出力の場合でも true になってしまうため、必要に応じて is_home() && ! ks_is_menu()
といったコードを使ってください。$type
に値を入れた場合、その値に対応する menu_XXXX.php を使用しているかどうかの判定になります。例えば、ks_is_menu('comments')
は menu_comments.php を使用した出力の場合 true となります。ks_is_front()
is_home()
かつ1ページ目であれば true となります。独自テンプレートである menu_XXXX.php (年月アーカイブ/カテゴリー一覧/タグクラウド/ページ一覧/ブログロール/最近のコメント) を表示しているときは false になります。ks_is_comments_list()
ks_is_comment_post()
ks_is_comments()
ks_is_image_inline()
ks_is_inline_image()
ではないことに注意してください。ks_added_image()
ks_has_inline_images()
ks_is_image_inline()
が true のとき「画像を表示する/リンクに変換」のメニューが出ます。ks_is_redir()
ks_header()
get_header()
は使えません)。get_footer()
は使えません)。ks_wp_head($pc_head)
$pc_head
が KTAI_DO_PC_HEAD (== true) の場合、WordPress 標準テンプレートタグ wp_head()
も実行しますが、スタイルシートや JavaScript の出力は抑制されます。デフォルトでは KTAI_NONE_PC_HEAD のため、wp_head() は実行されません。wp_head()
の実行を前提とするプラグインを併用するとき、KTAI_DO_PC_HEAD に変更してください。$pc_footer
が KTAI_DO_PC_HEAD (== true) の場合、WordPress 標準テンプレートタグ wp_footer()
を実行しますが、スタイルシートや JavaScript の出力は抑制されます。デフォルトでは KTAI_NONE_PC_HEAD のため、wp_footer() は実行されません。wp_footer()
の実行を前提とするプラグインを併用するとき、KTAI_DO_PC_HEAD に変更してください。ks_blogurl($echo)
$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_siteurl($echo)
$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_plugin_url($echo)
$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_get_theme($echo)
$echo:
true の場合、画面に出力します。false の場合、関数の返り値とします (デフォルト)。ks_get_theme_directory($echo)
$echo:
true の場合、画面に出力します。false の場合、関数の返り値とします (デフォルト)。ks_theme_url($echo)
$echo:
true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_admin_url($echo)
$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_login_link($before, $after, $echo, $accesskey, $label)
$before
: リンクの前に出力する文字列$after
: リンクの後ろに出力する文字列$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。$accesskey
: アクセスキー文字列 (オプション)$label
: 「ログイン」を示す文字列。デフォルトは「ログイン」('Log in' に対するローカライズ文字列) です。'before=|&accesskey=0'
のようなクエリー文字列、array('before' => '|', 'accesskey' => '0')
のような配列で与えることも可能です。ks_get_login_url($echo, $redirect)
$echo
: true の場合、画面に出力します。false の場合、関数の返り値とします (デフォルト)。$redirect
: ログイン後にリダイレクトする URL (オプション)ks_get_logout_url($echo, $redirect)
$echo
: true の場合、画面に出力します。false の場合、関数の返り値とします (デフォルト)。$redirect
: ログアウト後にリダイレクトする URL (オプション)ks_is_loggedin()
ks_session_id_form()
ks_check_wp_version($version, $operator)
$version
が $operator
に合致する場合 true となります。WordPress ME の場合、「ME」という文字列を除いた数字部分を使用します。ks_term_name($echo, $detect_search_engine)
$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。$detect_search_engine
: true の場合、検索エンジンの名前を取得します (デフォルト)。false の場合、検索エンジンが名乗る携帯端末の名前を取得します。ks_use_appl_xhtml()
<html xmlns="http://www.w3.org/1999/xhtml">
ks_applied_appl_xhtml()
ks_use_appl_xhtml()
を使っているとき、MIME タイプが application/xhtml+xml に変更されている (== ドコモ FOMA, EZweb (WAP2.0), ソフトバンク 3G, EMnet およびディズニー・モバイルで閲覧している) なら true を返します。ks_force_text_html()
ks_mimetype()
ks_charset()
ks_fix_encoding_form()
ks_detect_encoding()
ks_mb_get_form($key, $charset)
<img localsrc="XXXX" />
の型式に変換されます。フォームには、ks_fix_encoding_form()
で文字コード判別用隠しフィールドを埋め込んでおいてください。wp-settings.php で行なわれる magic_quote 処理は残されます。ks_convert_kana($buffer)
$buffer
: 変換する文字列。ks_is_required_term_id()
ks_require_term_id_form($action, $method)
$action:
フォームの送信先$method:
post, get のいずれかks_inline_error_submit($value)
$value:
送信ボタンの表示内容 (デフォルトは _e('Say It!')
です)ks_do_comment_form_action()
do_action('comment_form', $post->ID);>
を実行し、そのアクションで行なわれた画面出力を携帯電話向けに軽量化します。ks_title($echo)
wp_title()
を短くしたものになります。$echo
: true のとき画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_page_title($logo_file, $echo, $before, $after, $before_logo, $after_logo)
$logo_file
:ロゴ画像のファイル名を与えます。。ロゴ画像はテーマディレクトリー直下においてください。GIF 画像の場合は同じ名前の PNG 画像ファイルを、PNG 画像の場合は同じ名前の GIF 画像ファイルを作成しておいてください。$echo
: true のとき画面に出力します (デフォルト)。false の場合、関数の返り値とします。$before
: タイトルを文字出力するとき、前に付ける HTML を指定します。$after
: タイトルを出力するとき、前に付ける HTML を指定します。文字、ロゴ画像共通です。$before_logo
: タイトルとしてロゴ画像を出力するとき、前に付ける HTML を指定します。省略すると <h1 align="center">
となります。$after_logo
: タイトルとしてロゴ画像を出力するとき、後に付ける HTML を指定します。省略すると $after
と同じになります。'logo_file=logo.png&echo=false'
のようなクエリー文字列、array('logo_file' => 'logo.png', 'echo' => false)
のような配列で与えることも可能です。ks_content($more_link_text, $stripteaser, $more_file, $strip_length, $echo)
$more_link_text
: 「続きを読む...」の文字列を指定します。$stripteaser
: 「続きを読む...」より手前を削除するとき true を指定します。$more_file
: (現在未使用のオプションです)$strip_length
: 本文をカットするバイト数を指定します。マルチバイト文字列および HTML タグの途中で切れないよう切り詰められます。$echo
: true のとき画面に出力します (デフォルト)。false の場合、関数の返り値とします。'strip_length=100&echo=0'
のようなクエリー文字列、または array('more_link_text' => __('(more...)'), 'echo' => false)
のような配列で与えることも可能です。ks_get_content($more_link_text, $stripteaser, $more_file, $strip_length)
get_the_content()
と同様)。the_content フィルターをかけた結果が必要な場合は ks_content('echo=0')
を利用してください。$more_link_text
: 「続きを読む...」の文字列を指定します。$stripteaser
: 「続きを読む...」より手前を削除するとき true を指定します。$more_file
: (現在未使用のオプションです)$strip_length
: 本文をカットするバイト数を指定します。マルチバイト文字列および HTML タグの途中で切れないよう切り詰められます。ks_excerpt($strip_length, $echo)
the_excerpt(), get_the_excerpt()
と同じです。$strip_length
: 抜粋をカットするバイト数を指定します。マルチバイト文字列および HTML タグの途中で切れないよう切り詰められます。$echo
: true のとき画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_check_password($message)
$message
: 入力フォームの上に出すメッセージks_cut_html($content, $length, $start, $charset)
mb_strcut()
を用いています。$content
: HTML 文字列$length
: 切り取るバイト数$start
: 開始位置 (デフォルトは 0)$charset
: 文字エンコーディング (デフォルトはウェブログの文字エンコーディング)ks_time($year, $month_date, $today)
date()
関数と同じです。引数を省略すると、プラグイン設定画面に入力したフォーマットとなります。$year
: 去年以前の日時 (少なくとも年月日を表示)$month_date
: 今年の日時 (少なくとも月日を表示)$today
: 今日の日時 (少なくとも日または時を表示)ks_get_time($year, $month_date, $today)
ks_time()
と同じです。ks_mod_time($year, $month_date, $today)
date()
関数と同じです。引数を省略すると、プラグイン設定画面に入力したフォーマットとなります。$year
: 去年以前の日時 (少なくとも年月日を表示)$month_date
: 今年の日時 (少なくとも月日を表示)$today
: 今日の日時 (少なくとも日または時を表示)ks_get_mod_time($year, $month_date, $today)
ks_mod_time()
と同じです。ks_comment_datetime($year, $month_date, $today)
date()
関数と同じです。引数を省略すると、プラグイン設定画面に入力したフォーマットとなります。$year
: 去年以前の日時 (少なくとも年月日を表示)$month_date
: 今年の日時 (少なくとも月日を表示)$today
: 今日の日時 (少なくとも日または時を表示)ks_get_comment_datetime($year, $month_date, $today)
ks_comment_datetime()
と同じです。comment_author_link()
とほぼ同じ動作ですが、i-mode、EZweb、Yahoo! ケータイのときはリンクが中継ページ経由のものになります。$echo
: true のとき画面に出力します (デフォルト)。false の場合、関数の返り値とします。ks_pict_number($num, $echo)
$num
: 出力したい数字 (0〜9)。10 を与えると 0 を出力します。-1 以下の数値または11以上の数値を与えると□ (四角) を出力します。数字以外の値では何も返しません。$echo
: true の場合、画面に出力します。false の場合、関数の返り値とします (デフォルト)。ks_ordered_link($count, $max, $link, $label, $format, $hide_over_max, $echo)
$count
: 出力したい数字。accesskey 用の番号にもなります。空文字列を与えると、絵文字数字が出なくなります。$max
: 絵文字を使う最大値。これより $count
が大きければ、絵文字の代わりに □ (四角) になります。オプションの $hide_over_max
を true にすると、最大値を越えたときは何も出力しません。$link
: リンク先 URL (必須)$label
: リンク文字列。この引数を省略すると、閉じタグ (</a>) は出力しません。$format
: フォーマット文字列。「%link
」という文字列を含めておくと、その部分がリンク先 URL とリンク文字列を使ったリンクとなります。デフォルトは、「%link
」という文字列そのものがフォーマット文字列となります。$hide_over_max
: 数字が最大値を越えたとき、何も出力しない場合は true にします。false の場合は □ (四角) を出力します (デフォルト)。
$echo
: 画面に出力する場合は true とします (デフォルト)。画面出力せず関数の帰り値とする場合は false とします。'count=5&max=10'
のようなクエリー文字列、array('count' => 5, 'max' => 10)
のような配列で与えることも可能です。ks_link_pages($args = '')
wp_link_pages()
の代わりとなる、分割ページ用ナビゲートタグです。パスワード保護された投稿で認証ずみの場合は、アンカーリンクではなく、隠しフィールドにパスワードを埋め込んだフォームボタンが表示されます。このため、パスワードの再入力なしにページ遷移が可能です。$args
: 各種パラメーター (wp_link_pages()
と同じ仕様)ks_pagenum($before, $after, $echo)
$before
: 前に置く HTML 文字列$after
: 後に置く HTML 文字列$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('before' => '<br />')
のような配列で与えることも可能です。ks_previous_post_link($format, $link, $in_same_cat, $excluded_categories, $accesskey, $echo)
previous_post_link()
と同じものに、$accesskey, $echo
が追加されています。$format
: アンカー文字列書式 (デフォルトは <img localsrc="7" alt="« ">*.%link
)$link
: リンク文字列書式。%title
なら投稿タイトル (デフォルト)、%date
なら投稿日時。$in_same_cat
: true なら同じカテゴリーの投稿に絞り込み、false なら絞り込みなし (デフォルト)$excluded_categories
: リンク先として除外するカテゴリー ID$accesskey
: アクセスキー文字 (デフォルトは *)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('link' => '%title')
のような配列で与えることも可能です。ks_next_post_link($format, $link, $in_same_cat, $excluded_categories, $accesskey, $echo)
next_post_link()
と同じものに、$accesskey, $echo
が追加されています。$format
: アンカー文字列書式 (デフォルトは #.%link<img localsrc="8" alt=" »">
)$link
: リンク文字列書式。%title
なら投稿タイトル (デフォルト)、%date
なら投稿日時。$in_same_cat
: true なら同じカテゴリーの投稿に絞り込み、false なら絞り込みなし (デフォルト)$excluded_categories
: リンク先として除外するカテゴリー ID$accesskey
: アクセスキー文字 (デフォルトは #)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('link' => '%title')
のような配列で与えることも可能です。ks_previous_posts_link($label, $accesskey, $echo)
$label
: リンク文字列 (デフォルトは <img localsrc="7" alt="« ">*.前
)$accesskey
: アクセスキー文字 (デフォルトは *)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('label' => '*.Prev')
のような配列で与えることも可能です。ks_next_posts_link($label, $accesskey, $max_page, $echo)
$label
: リンク文字列 (デフォルトは #.次<img localsrc="8" alt=" »">
)$accesskey
: アクセスキー文字 (デフォルトは #)$max_page
: 最大ページ数 (通常は指定不要)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('label' => 'Next.#')
のような配列で与えることも可能です。$sep
: 間に挟まれる分離文字列 (デフォルトは | )$before
: ナビゲーションの前に付ける HTML 文字列$after
: ナビゲーションの後ろに付ける HTML 文字列$prev_label
: 前ページを示す文字列 (デフォルトは <img localsrc="7" alt="« ">*.前
)$next_label
: 次ページを示す文字列 (デフォルトは #.次<img localsrc="8" alt=" »">
)$prev_key
: 前ページのアクセスキー文字 (デフォルトは *)$next_key
: 次ページアクセスキー文字 (デフォルトは #)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('prev_key' => '4', 'next_key' => '6')
のような配列で与えることも可能です。$num
: 前後何ページリンクするかの数 (デフォルトは 3)$first
: 「先頭」を示す文字列$last
: 「末尾」を示す文字列$prev_key
: 前ページのアクセスキー文字 (デフォルトは *)$next_key
: 次ページアクセスキー文字 (デフォルトは #)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('prev_key' => '4', 'next_key' => '6')
のような配列で与えることも可能です。$show_all_limit
よりも多い場合は、前後 ±1, ±2, ±3, ±4, ±5, ±10, ±20, ±50, ±100, ±200, ±500, ±1000,... ページだけに絞ります。$before
: 前に置く HTML 文字列$after
: 後に置く HTML 文字列$min_pages
: メニューを出力するページ数下限 (デフォルトは 2)$show_all_limit
: すべてのページを出力するページ数上限 (デフォルトは 13)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'min_pages=3'
のようなクエリー文字列、array('before' => '<br />')
のような配列で与えることも可能です。ks_get_comments_list_link($id)
$id
: 対象とする投稿 ID。投稿ループの中では空でよい。ks_get_comment_link($comment, $args)
$comment
: 対象とするコメントオブジェクトまたは ID。$args
: オプション。WordPress 2.7 以降のみ有効です。get_comment_link()
の第2引数に与えるオプションと同じです。クエリー文字列または配列を与えます。ks_comments_link($icon, $zero, $one, $more, $none, $sec, $accesskey, $before, $after, $echo)
$icon
: リンクの前に置く絵文字。<img localsrc="NNN" /> のような XHTML を渡します。NULL を渡すとデフォルトの「メモ用紙」絵文字になります。絵文字なしにするには空文字列 '' を渡してください。$zero
: コメントなしを示す HTML 文字列。空文字列 ('') を与えると、コメントなしのときコメント数表示自体を行いません。NULL を与えるとデフォルト文字列 (「コメントなし」) を用います。※HTML エスケープ済の文字列を渡してください。$one
: コメント1件を示す文字列。空文字列 ('') を与えると、コメント1件のときコメント数表示自体を行いません。NULL を与えるとデフォルト文字列 (「コメント1件」) を用います。※HTML エスケープ済の文字列を渡してください。$more
: コメント2件以上を示す HTML 文字列。「%」があればコメント数に置換されます。空文字列 ('') を与えると、コメント2件以上のときコメント数表示自体を行いません。NULL を与えるとデフォルト文字列 (「コメント%件」) を用います。※HTML エスケープ済の文字列を渡してください。$none
: コメント停止中を示す HTML 文字列。これを表示する場合、コメント一覧ページへのリンクはされません。空文字列 ('') を与えると、コメント停止中しのときコメント数表示自体を行いません。NULL を与えるとデフォルト文字列 (「コメント停止中」) を用います。※HTML エスケープ済の文字列を渡してください。$sec
: パスワード保護している投稿を示す HTML 文字列。空文字列 ('') を与えると、パスワード保護のときコメント数表示自体を行いません。NULL を与えるとデフォルト文字列 (「コメントを見る(要パスワード)」) を用います。$accesskey
: アクセスキー文字列 (デフォルトはなし)$before
: 前に置く HTML 文字列$after
: 後に置く HTML 文字列$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。array('zero' => __('No Comments'), 'one' => __('1 Comment'))
のような配列で与えることも可能です。この場合、以下のパラメーターも指定可能です。icon_zero
: コメントなしの場合の絵文字 XHTMLicon_one
: コメント1件の場合の絵文字 XHTMLicon_more
: コメント2件以上の場合の絵文字 XHTMLicon_none
: コメント停止中の場合の絵文字 XHTMLicon_sec
: パスワード保護中の場合の絵文字 XHTMLks_comments_post_url($id)
$id
: 投稿 IDks_comments_post_link($label, $before, $after, $icon, $accesskey, $echo)
$label
: リンク用 HTML 文字列。※HTML エスケープ済の文字列を渡してください。$before
: リンクの前に置く文字列 (絵文字等)$after
: リンクの後に置く文字列$icon
: リンク先説明の前に置く絵文字 (デフォルトは鉛筆の絵)$accesskey
: アクセスキー文字 (デフォルトはなし)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('before' => '<br />', 'accesskey' => '1')
のような配列で与えることも可能です。ks_back_to_post($icon, $label, $accesskey, $echo)
$icon
: リンクの前に置く絵文字$label
: リンク用 HTML 文字列。※HTML エスケープ済の文字列を渡してください。$accesskey
: アクセスキー文字 (デフォルトはなし)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'echo=0'
のようなクエリー文字列、array('label' => 'Back', 'accesskey' => '0')
のような配列で与えることも可能です。ks_separete_comments($comments, $order)
$comments
: コメントの配列$order
: コメントを時系列順。'asc' なら古い順 (デフォルト)、'desc' なら新しい順になります。ks_get_recent_comments($num, $type, $group_by_post)
$num
: コメント表示数$type
: コメントの種類を示す文字列$group_by_post
: コメントを投稿ごとにまとめるかどうか (デフォルト true)。true の場合、同じコメントへの投稿をまとめて、2次元配列とします。1次元目は投稿 ID をキーとしたコメントオブジェクトの配列です。false の場合、コメントオブジェクトの配列です。'num=20'
のようなクエリー文字列、array('num' => 20, 'type' => 'pings')
のような配列で与えることも可能です。ks_category($separator, $parents, $color, $echo)
$separator
: カテゴリーごとの区切り文字列。$parents
: 未使用です。(the_category フィルターとの互換性のために存在)$color
: リンク色指定 (HTML 16 色の名前もしくは #RRGGBB の16進)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'color=white'
のようなクエリー文字列、array('color' => 'white', 'echo' => false)
のような配列で与えることも可能です。ks_dropdown_categories($args)
wp_dropdown_categories()
の結果から、余計な空白や class 属性を除去して出力します。$args
: wp_dropdown_categories()
と同じ仕様のパラメーター。デフォルトでは ID 順で「すべて」を含み、投稿数を表示します。$before:
一覧の前に置く文字列 (絵文字等)$after:
一覧の後に置く文字列$separator:
タグごとの区切り文字列$color
: リンク色指定 (HTML 16 色の名前もしくは #RRGGBB の16進)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'color=white'
のようなクエリー文字列、array('color' => 'white', 'echo' => false)
のような配列で与えることも可能です。ks_tag_cloud($args)
wp_tag_cloud()
と同じ動作をしますが、余計な空白や title 属性、rel 属性などを除去しています。独自に、リンク色指定ができる color
引数を定義しています。ks_get_archives($args)
wp_get_archives()
の結果から、余計な空白や title 属性を除去して出力します。$arg: ks_get_archives()
と同じ仕様のパラメーター。ただし、WordPress 2.6 以前でも echo パラメーターが有効です (echo=0 で文字列として取得)。ks_list_bookmarks($args)
wp_list_bookmarks()
の結果から、余計な空白や class, title, rel 属性を除去して出力します。$arg: wp_list_bookmarks()
(または get_links_list()
) と同じ仕様のパラメーターks_dropdown_archives($args)
wp_get_archives()
の結果から、余計な空白や title 属性を除去して出力します。$arg: ks_get_archives()
と同じ仕様のパラメーター。ただし、WordPress 2.6 以前でも echo パラメーターが有効です (echo=0 で文字列として取得)。ks_list_bookmarks($args)
wp_list_bookmarks()
の結果から、余計な空白や class, title, rel 属性を除去して出力します。$arg: wp_list_bookmarks()
(または get_links_list()
) と同じ仕様のパラメーター$sep
: 項目ごとの区切り$before
: 前に付ける HTML タグ$after
: 後ろに付ける HTML タグ$args
: 表示用パラメーター。get_pages()
の引数が使えます。見せたくないページがある場合、exclude=MM,NN として見せたくないページの page_id を与えることが可能です (MM, NN がページ ID)。さらに、'parent_only=0' とすると、すべてのページをリストアップし、'echo=0' を入れると出力するかわりに HTML を返り値とします。'sep=|&exclude=14,15'
もしくは array('before' => '<br />', 'echo' => false)
などとできます。ks_get_admin_user($user_id)
$user_id
: ユーザー ID。省略すると、user_id が一番小さい、管理者権限のあるユーザーを自動的に探します。ks_switch_pc_view($before, $after, $color)
$before
: リンクの前に置く文字列$after
: リンクの後に置く文字列$color
: リンク色指定 (HTML 16 色の名前もしくは #RRGGBB の16進)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'color=white'
のようなクエリー文字列、array('before' => '|', 'color' => 'white')
のような配列で与えることも可能です。ks_switch_inline_images($before, $after, $color)
$before
: メニューの前に置く文字列$after
: メニューの後に置く文字列$color
: リンク色指定 (HTML 16 色の名前もしくは #RRGGBB の16進)$echo
: true の場合、画面に出力します (デフォルト)。false の場合、関数の返り値とします。'color=white'
のようなクエリー文字列、array('before' => '|', 'color' => 'white')
のような配列で与えることも可能です。リダイレクトテンプレート redir.php でのみ使えるテンプレートタグです。redir.php テンプレートの解説も参照してください。なお、ks_is_redir()
はどこでも使えるので上で解説ずみです。
ks_redir_get($key)
$key
には以下の値が使えます。url
: リダイレクト先 URL。リダイレクト先が現在と同じホストなど http:// が省ける場合は、/ から始まる絶対パス形式になります。full_url
: リダイレクト先 URL。http:// が必ず付く長い形式です。mobile_url
: リダイレクト先の携帯サイト URL ks_redir_has($key)
isset() && ! empty()
です)。$key
に使える値は ks_redir_get()
と同じです。ks_redir_same_host()
<!--start paging-->
<!--end paging-->
<!--start paging[after]-->
<!--start paging[before,after]-->
<!--end paging[before]-->
<!--end paging[before,after]-->
<!--start paging[<hr color="<?php echo $ks_settings['hr_color']; ?>" />]-->
<!--start paging[,]-->
としてください。他のプラグインにおいて、PC 向け出力か携帯電話出力かを区別できるよう、以下の関数を用意しています。
is_ktai()
ks_service_type()
と同じです。ks_is_flat_rate()
と同じ動作です。本プラグインが有効・無効にかかわらずエラーが出ないよう、次のようにして使ってください。
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() 関数はソフトバンク PDC 端末を検出しないことが判明したため、is_mobile()
だけで携帯電話かどうかの判定を行うことができず、is_ktai()
関数も併用する必要が出てしまいました (具体的なコードは上記の通り)。
そうなると、Mobile Eye+ との互換性を取るために、Mobile Eye+ でも使っている関数名である is_mobile()
という名前にする、という措置も無意味となってしまいました。このため、バージョン 0.98 より is_ktai()
関数に一本化することとしました。
# WPhone Admin Plugin の作りが悪い、とも言えますね ;-)
Ktai Style 附属テーマを改造した携帯テーマは、Ktai Style のライセンスである GPL v2 と互換性のあるライセンスを適用する必要があります。「再配布禁止」など、矛盾する制約を追加することはできません。
ただし、アイコン画像・背景画像を独自に作成した場合、その画像については好きなライセンスを設定することができます。したがって、「PHP のテンプレート部分は GPL。CSS スタイルシートおよび画像ファイルは再配布不可」という複合ライセンスを設定してみてください。
もしくは、Ktai Style の附属テーマを参考に、スクラッチで携帯テーマを記述しても構いません。この場合、著作権はすべてあなたに属するため、好きなライセンスを設定できます。ただし、テンプレートファイルから Ktai Style および WordPress の API を呼び出すことが必須ですから、GPL (もしくは互換性のあるライセンス) が適用されるべきと考えられます。
ちなみに、GPL は有償で配布することが可能ですが、再配布を禁止できないこと、利用用途に制約をかけられないこと (アダルトサイトで使用禁止にできない等) が特徴です。
以上