サポート » プラグイン » Ktai Styleでキャリア別テーマが適応されない

  • 解決済 mi_325

    (@mi_325)


    お世話になっております。
    類似の質問を探しましたが見つけられなかったのでこちらで質問させていただきます。

    wordpress3.0.1、Ktai Style2.0.3を使用しています。

    KtaiStyleのテーマとして、『携帯用テーマ』『iPhone用のテーマ』のそれぞれをサーバーにアップし、携帯用テーマを共通テーマに設定しています。

    KtaiStyleで、携帯・PHS等には『共通テーマと同じ』を、iPhone・Androidに向けて『iPhone用のテーマ』を選択しているのですが、iPhoneからアクセスしても、共通テーマと同じページが表示されます。

    また逆に、共通テーマをiPhone用のテンプレートに差し替え、携帯・PHSについては『携帯用テーマ』を、iPhoneには『共通テーマと同じ』を指定すると、普通の携帯電話の方でiPhone用のテーマが表示され、iPhoneでアクセスしても、共通テーマが表示されます。

    何を設定しても、共通テーマが表示されてしまいます。
    他のプラグインを停止し、KtaiStyleだけを設定してアクセスしてみたりしましたが、解消しませんでした。

    検証で使用しているiPhoneは3GS iOS4.1です。

    解決方法等おわかりになる方が居られましたら、どうぞご教示ください。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 自己レスです。

    プラグインレベルでの根本的な解決ではないのですが、結局、共通テーマのテンプレートファイル上で、

    <?php
    $agent = $_SERVER['HTTP_USER_AGENT'];
    if(ereg("iPhone", $agent)):
    ?>
    <!--iPhone用の表示-->
    <?php else: ?>
    <!--携帯用の表示-->
    <?php endif ; ?>

    として表示を振り分けることで、共通テーマだけでiPhoneとその他携帯との表示を変えて対応することにしました。

    ですが、この方法ではandroid端末には非対応になってしまうなどの問題もありますので、引き続き、管理画面で設定したiPhone・Android端末用テーマが、正しく認識されるようにはどうすれば良いか、お分かりになる方が居られましたら、ご意見宜しくお願い致します。

    色々な方が言及されていますが、根本的な解決策としてはKtaiService_Touchクラスの中でTouchPhone用の変数を読み込む必要があります。

    c.f. ktai-styleのスマートフォン個別テーマ設定バグ対策など。

    具体的には(wp-content/plugins/ktai-style/operators/)にあるbase.phpに$this->theme = ks_option('ks_theme_touch');
    を追加します。

    public function __construct($user_agent) {
    	parent::__construct($user_agent);
    	$this->type = 'TouchPhone';
    	add_action('ktai_wp_head', array($this, 'viewport') );
    	return;
    }

    public function __construct($user_agent) {
    	parent::__construct($user_agent);
    	$this->type = 'TouchPhone';
    	$this->theme = ks_option('ks_theme_touch');
    	add_action('ktai_wp_head', array($this, 'viewport') );
    	return;
    }

    kurosquare様

    レスを頂いていたのに、ずっとお返事ができておらず申し訳ありません。(お返事、のち解決済みにしたつもりでおりました;;)
    具体的なソースを教えて頂き、大変助かりました!おかげ様で無事に振り分けができるようになりました。
    ありがとうございました!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Ktai Styleでキャリア別テーマが適応されない」には新たに返信することはできません。