Opera の携帯表示では、一番下に「PC 表示にする」というリンクが出ますが、「デフォルトで」ということは、切り替えてもらうという解はないわけですよね。
携帯表示を完全に殺していいならば、operators/services.php を改造して Wii 判別部分を削除るか、detect_agent 独自フィルターで、Wii に判別されたら中止する手があります。
function ks_force_pc_wii($ktai, $ua) {
if ($ktai && $ktai->get('term_name') == 'Nintendo Wii') {
unset($ktai);
$ktai = null;
}
return $ktai;
}
add_filter('detect_agent/ktai_style.php', 'ks_force_pc_wii', 10, 2);
携帯表示への切り替えリンクを残したまま、デフォルトは PC 表示にしたい、というのであれば、以下の改造でいけると思います (試してません)。
function ks_default_pc_wii($ktai, $ua) {
if ($ktai && $ktai->get('term_name') == 'Nintendo Wii' && ! isset($_COOKIE['ks_pc_view'])) {
setcookie('ks_pc_view', true, 0, COOKIEPATH, COOKIE_DOMAIN);
setcookie('ks_pc_view', true, 0, SITECOOKIEPATH, COOKIE_DOMAIN);
}
return $ktai;
}
add_filter('detect_agent/ktai_style.php', 'ks_default_pc_wii', 10, 2);
すみません、自宅に帰らないとテストができないので、後ほど試してみます。
ありがとうございます。
えっと、wordpress2.8以降でmy-hacks.phpは使えなくなってしまったので、my-hacks.phpをプラグイン化する方法で試していますがうまくいきません。(一応、FireFoxのユーザーエージェントをごまかす方法で試しています。実機テストは時間がかかるので・・・)
そもそもプラグイン化したmy-hacks.phpがきちんと動作しているかの確認もできないので、現状はFireFoxでユーザーエージェントをOpera/9.10 (Nintendo Wii; U; ; 1621; ja)
としてセットし、携帯表示になるかどうかでテストしています。
my-hacks.phpの内容は以下のとおりです。
<?php
/*
Plugin Name: my-hacks.php
Plugin URI: http://
Description: my-hacks.php - replacement since WordPress 2.8
Author: staff
Version: 0.1
Author URI: http://
*/
/* --------------------------------------------
* Wii対策フィルターフック
* -------------------------------------------- */
function ks_force_pc_wii($ktai, $ua) {
if ($ktai && $ktai->get('term_name') == 'Nintendo Wii') {
unset($ktai);
$ktai = null;
}
return $ktai;
}
add_filter('detect_agent/ktai_style.php', 'ks_force_pc_wii', 10, 2);
?>
一応、文字コードUTF-8N、Shift-JISどちらでも試しました。
FireFoxの疑似環境が良くないのでしょうか?このままでも実機ならうまく動くのでしょうか?実機テストは自宅に帰ってからテストになってしまいますが・・・
できればコア修正なしでフックで何とかしたいのですが、対応方法がありましたらよろしくお願いいたします。
Plugin Name: my-hacks.php
プラグインの名前およびファイル名は a-j のどれかの文字で始めるようにしてください。Ktai Style より先に読み込まれないといけないわけです。
ありがとうございます。
abate-hacks.phpとリネームして疑似環境ではうまくいきました。
実機テストもこれから行いますが、多分大丈夫であろうと思います。
とても助かりました。