最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

WordPressのbodyクラスにユーザーブラウザとOSのクラスを追加する方法

WordPressテーマを開発する際、デザインの特定の側面をCSSまたはjQueryを使用して変更するために、ユーザーのブラウザとオペレーティングシステムの情報を必要とすることがあります。WordPressはそれを実行する能力があります。この記事では、WordPressのbodyクラスにユーザーのブラウザとOSのクラスを追加する方法を説明します。

WordPressでユーザーのプラットフォームとブラウザを検出する

デフォルトでは、WordPressはCSSクラスを生成します。ウェブサイトのさまざまなセクションに対して。また、テーマやプラグイン開発者が独自のクラスをフックできるようにフィルターも提供しています。ここではbody_classフィルターを使用して、ブラウザとオペレーティングシステムの情報をCSSクラスとして追加します。

まず最初に行う必要があるのは、以下のコードをテーマのfunctions.phpファイルに追加することです。

        function mv_browser_body_class($classes) {
                global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
                if($is_lynx) $classes[] = 'lynx';
                elseif($is_gecko) $classes[] = 'gecko';
                elseif($is_opera) $classes[] = 'opera';
                elseif($is_NS4) $classes[] = 'ns4';
                elseif($is_safari) $classes[] = 'safari';
                elseif($is_chrome) $classes[] = 'chrome';
                elseif($is_IE) {
                        $classes[] = 'ie';
                        if(preg_match('/MSIE ([0-9]+)([a-zA-Z0-9.]+)/', $_SERVER['HTTP_USER_AGENT'], $browser_version))
                        $classes[] = 'ie'.$browser_version[1];
                } else $classes[] = 'unknown';
                if($is_iphone) $classes[] = 'iphone';
                if ( stristr( $_SERVER['HTTP_USER_AGENT'],"mac") ) {
                         $classes[] = 'osx';
                   } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"linux") ) {
                         $classes[] = 'linux';
                   } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"windows") ) {
                         $classes[] = 'windows';
                   }
                return $classes;
        }
        add_filter('body_class','mv_browser_body_class');

このスクリプトの最初の部分は、ユーザーのブラウザを検出し、それを$classesに追加します。2番目の部分は、ユーザーのオペレーティングシステムを検出し、それも$classesに追加します。最後の行は、WordPressのbody_classフィルターを使用してクラスを追加します。

次に、テーマのheader.phpファイル内の<body> HTMLタグにbodyクラスを追加する必要があります。テンプレートファイルのbody行をこのコードに置き換えてください。

<body <?php body_class(); ?>>

underscoresのようなスターターテーマや、Genesisのような適切にコーディングされたテーマフレームワークを使用している場合、テーマのbodyタグにはすでにbodyクラス関数が含まれていることに注意してください。コードが実装されると、HTMLソースのbodyタグでブラウザとオペレーティングシステムのクラスを確認できるようになります。また、WordPressによってbodyタグに追加される他のクラスがあることにも気づくでしょう。

WordPressのbodyクラスにブラウザとOS情報を追加する

これで、さまざまなブラウザやオペレーティングシステム用のクラスをスタイル設定したり、jQueryのセレクターとして使用したりできます。この記事が、WordPressでユーザーのブラウザとオペレーティングシステム情報を検出するのに役立ったことを願っています。

WordPressテーマ開発を始めたばかりの場合は、Sassの紹介や、新しいテーマデザイナー向けのWordPress Body Class 101も参照することをお勧めします。フィードバックや質問があれば、下のコメントでお知らせください。

出典: Justin Sternberg

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

11 CommentsLeave a Reply

    • セキュリティアドオンやCDNを使用している場合、適切な情報ではなく、その情報がブラウザに送信されている可能性があります。

      管理者

  1. Hi.. I’ve been a fan of this website for almost 3 years.. by the way any update on this function for edge browser? thanks :)

    より多くのパワーを!

  2. これは、個々のブラウザのスタイリングを調整する素晴らしい方法です。唯一の大きな欠点は、一部のキャッシュプラグイン/システムで使用すると逆効果になる可能性があることです。ページの残りのコンテンツと同様にbodyタグがキャッシュされるため、実際にはすべてのブラウザに適用されるはずのスタイルが1つのブラウザに適用されてしまうことになります。

Leave A Reply

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。