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

WordPressでページスラッグをボディクラスに追加する方法

私たちは長年多くのWordPressサイトに携わってきましたが、常に利用しているカスタマイズのトリックの1つは、ページスラッグをbodyクラスに追加することです。非常に簡単なことですが、デザインの柔軟性に関しては大きな違いを生みます。

これが意味するところです:おそらく経験したことがあるでしょう—サイトの他の部分とは異なるスタイルを1つのページだけにしたい場合。ボディクラスにページスラッグがないと、複雑なCSSセレクターと格闘したり、個別のスタイルシートを作成したりすることになります。

WordPressテーマにページスラッグを追加すると、複雑な操作なしで必要なカスタマイズをすべて行うことができます。サイトの他の部分に影響を与えることなく、個々のページの配色、フォント、その他の項目を簡単に変更できます。

この記事では、WordPressテーマのbodyクラスにページスラッグを追加する方法を紹介します。この方法は、シンプルなビジネスサイトから複雑なeコマースストアまで、あらゆるものに使用しています。

WordPressでページスラッグをボディクラスに追加する方法

テーマのbodyクラスにページスラッグを追加する理由は何ですか?

サイトの特定のページをカスタマイズしたい場合、またはページを正しく識別したい場合は、テーマのボディクラスにページスラッグを追加すると非常に便利です。

デフォルトでは、WordPressサイトには投稿IDクラスのみが表示され、正しいページを認識するのが難しい場合があります。ページスラッグはブログ投稿のURLを表示するため、ページのカスタマイズが容易になります。

それに加えて、ページスラッグのボディクラスを使用して、ページにさまざまなカスタマイズを実行できます。たとえば、特定の投稿のフォントや色を変更したり、特定のランディングページで行動喚起ボタンを強調したりできます。

さて、WordPressテーマのボディクラスにページスラッグを追加する方法を見ていきましょう。

WordPressテーマにページスラッグを追加する

WordPressテーマのボディクラスにページのURLを追加するのに役立つように、テーマのfunctions.phpファイルに次のコードを入力できます。

function add_slug_body_class( $classes ) {
global $post;
if ( isset( $post ) ) {
$classes[] = $post->post_type . '-' . $post->post_name;
}
return $classes;
}
add_filter( 'body_class', 'add_slug_body_class' );

WordPressテーマエディター(コードエディター)に移動することで、テーマのfunctions.phpファイルにアクセスできます。ただし、テーマファイルを直接編集するのは非常に危険です。

これは、コードの追加中に間違いがあるとサイトが破損し、WordPressダッシュボードへのログインがブロックされる可能性があるためです。

テーマのボディクラスにコードを追加するはるかに簡単な方法は、WPCodeのようなWordPressプラグインを使用することです。私たちはそれを複数のサイトで使用しています。詳細については、WPCodeの全レビューをご覧ください。

WPCode

WPCodeを使用すると、数分で簡単にコードをサイトに追加でき、エラーも発生しません。さらに、将来テーマを更新または変更した場合でも、コードが削除されないことが保証されます。

また、専門家が作成したコードスニペットのライブラリが付属しており、ワンクリックでインストールできます。そのため、高度な WordPress カスタマイズを行うためにコーディングスキルは必要ありません。

実際、bodyクラスにページスラッグを追加することは、WPCodeライブラリの既製のスニペットとして利用できます。これが最も簡単な方法です。

まず、無料のWPCodeプラグインをサイトにインストールしてアクティブ化する必要があります。手順については、WordPressプラグインのインストール方法に関するガイドを参照してください。

プラグインがアクティブ化されると、「Code Snippets」という新しいメニュー項目がWordPressの管理バーに追加されます。それをクリックすると、すべてのコードスニペットを管理するページに移動します。

最初 のコードスニペットを追加するには、「新規追加」ボタンをクリックします。

コードスニペットに移動し、「新規追加」をクリックします

これにより、「スニペットを追加」ページが表示され、既製のライブラリからコードスニペットを選択できます。

「Add the Page Slug to Body Class」スニペットを検索し、見つけたら「Use snippet」ボタンをクリックします。

ライブラリから「Add Page Slug to Body Class」スニペットを選択します

これで、WPCode がコードを自動的に追加し、適切な挿入方法を設定します。

WPCodeはコードスニペットを自動的に追加します

スイッチを「非アクティブ」から「アクティブ」に切り替えるだけです。最後に、ページ上部にある「更新」ボタンをクリックしてください。

コードスニペットをアクティブに切り替え、WPCodeで更新をクリックしてください

これで、page-{slug} のような新しい body クラスが出力されるようになります。このクラスを使用して、デフォルトのスタイルをオーバーライドし、特定のページに合わせて要素をカスタマイズできます。

たとえば、サイドバーウィジェットのスタイルを設定したいが、スラッグが「education」のページでのみスタイルを設定したいとします。その場合、次のようなCSSを追加できます。

#sidebar .widgets{background: #fff; color: #000;}
.page-education #sidebar .widgets{background: #000; color: #fff;}

詳細については、WordPressにカスタムCSSを追加する方法に関するガイドを参照してください。

カスタムコードを手動で追加する

上記のカスタムコードを手動で追加したい場合は、次の手順で行います。

まず、WordPressダッシュボードから コードスニペット » スニペットの追加 ページに移動します。

そこから、「カスタムコードを追加(新規スニペット)」オプションに移動し、「+カスタムスニペットを追加」ボタンをクリックします。

WPCodeでカスタムスニペットを追加する

次に、画面に表示されるオプションのリストからコードタイプを選択する必要があります。このチュートリアルでは、「PHPスニペット」を選択してください。

PHP スニペットオプションを選択

コードスニペットのタイトルを入力してください。これは参照用であり、コードを識別するのに役立つものであれば何でも構いません。

その後、上記のコードを「コードプレビュー」ボックスにコピー&ペーストするだけです。

タイトルを入力し、コードを貼り付けて、ページのスラッグを body クラスに追加します

次に、「挿入」セクションまでスクロールします。ここでは、「自動挿入」メソッドを選択して、管理画面、フロントエンドなど、WordPressの特定の場所にコードを自動的に挿入して実行できます。

不明な場合は、デフォルトの「すべてで実行」オプションを選択してください。

コードの挿入方法を編集

または、「ショートコード」メソッドを選択することもできます。このメソッドでは、スニペットは自動的に挿入されません。サイトのどこにでも手動で挿入できるショートコードを取得します。

準備ができたら、「Inactive」から「Active」にスイッチを切り替え、「Save Snippet」ボタンを右上隅でクリックします。

コードスニペットWPCodeを保存して有効化

詳細については、WordPressにカスタムコードを追加する方法に関するガイドを参照してください。

この記事がWordPressテーマのボディクラスにページスラッグを追加する方法を学ぶのに役立ったことを願っています。また、WordPressのボディクラス最適なデザインソフトウェアの選び方に関するガイドも参照してください。

この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterFacebookでも私たちを見つけることができます。

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

究極のWordPressツールキット

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

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

26 CommentsLeave a Reply

  1. ありがとうございます!このコードをfunctions.phpにコピー&ペーストしました。完璧に動作しました。

  2. $post の代わりに global $wp_query を使用するのはどうですか? functions.php が実行される前に wp_query を実行した場合、$post が上書きされることに気づきました。

  3. 公開していただきありがとうございます。シンプルなコードですが、ID ベースのクラスではなく、より人間が読める CSS ファイルを作成できます。ありがとうございます。

  4. Thank you so much for this! I found out the hard way that page-id can change given different circumstances. This allows me to style individual pages without as much worry. :)

  5. これについて、本当にありがとうございます。最初はCSSスタイルシート内のコードの位置のためにいくつかの問題がありましたが、一番下に移動したらうまく機能しました。他の人も言っているように、これがWPの標準であればよかったのにと思いますし、もっと早くこれを知っていればよかったと思います。

  6. このコードはかなりうまく機能します。しかし、検索結果のボディクラスに、リストの最初の項目のスラッグが含まれてしまうことがわかりました。場合によっては、最初の項目のスタイルが検索結果ページのスタイルを上書きしてしまうことがありました。奇妙ですよね!

    if ステートメントの中に !is_search() を入れると、この問題が解消されることがわかりました。他の人がこの問題に遭遇した場合は、修正は簡単です。

  7. これはすべてのWordPress開発者にとって素晴らしいスニペットです。私のテーマ設定では標準で含まれています。

  8. これ、ありがとうございます。ページIDで自分でハッキングしてしまい、その結果に苦しんでいました。

Leave A Reply

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