0

モバイル、特に iPhone と Android の訪問者向けに別のテーマを表示したいと考えています。はいWPtouch、良いソリューションのプラグインですが、新しいjquery mobileベースのモバイル専用テーマを表示したいと思います。

モバイルでユーザーを検出した後、ユーザーにモバイル テーマを表示するにはどうすればよいですか?

4

2 に答える 2

1

まず、WordPress プラグインを作成する必要があります。これは、対応するテーマが実際に既に適用されている場合にのみ呼び出されるため、functions.php 内にテーマ切り替えのロジックを実装するのは遅すぎるためです。そのため、ロジックをプラグインに挿入し (プラグイン ファイルはテーマ ファイルの前に実行されます)、次のフィルターを使用して、検出ロジックを対応する関数 (get_template_for_deviceおよびget_stylesheet_for_device)に配置する必要があります。

    add_filter('template', 'get_template_for_device');
    add_filter('stylesheet', 'get_stylesheet_for_device');
    add_filter('option_template', 'get_template_for_device');
    add_filter('option_stylesheet', 'get_stylesheet_for_device');

個人的には、ユーザーエージェント文字列内の文字列を検出する単純な方法は最も信頼できるものではないため、かなり優れたセキュリティでサーバー側でデバイスを検出する WURFL ソリューションを実装しました (また、WURFL のみが提供できる追加のデバイス機能情報も必要でした)。 . 私の解決策は次のとおりです。設定したdeviceinfo Cookieにデータが保存されていない場合、デバイス検出のためにWURFLを実行し、すべての情報をCookieに保存します。後続の訪問または後続のページでは、WURFL オブジェクトをインスタンス化することなく、Cookie から情報を直接取得し、上記のフィルターを使用して適切なテーマを提供します。それ以外の場合は、より単純なロジックを使用してユーザー エージェント文字列を読み取ることができます (WPTouch のように) : 信頼性は低くなりますが、正直なところ、90% 以上の時間で動作します (私自身の経験によると、しかし、特に特定の地理的領域を考慮する必要がある場合は、私が間違っている可能性があります)、それで十分です. GBD は、彼のコメントで例を示しました。

于 2012-12-12T13:42:08.297 に答える
0

このプラグインは、このタスクに適しているようです http://wordpress.org/extend/plugins/any-mobile-theme-switcher/

于 2012-12-13T11:39:11.177 に答える