- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
「テンプレートタグ/body class」の版間の差分
(翻訳、初期値一覧表を作成。用例が未翻訳) |
(残りの翻訳 →ページ種類別初期値一覧: ちょっと整理、WP日本語版表記、リンク追加) |
||
1行目: | 1行目: | ||
{{Stub}} | {{Stub}} | ||
== 説明 == | == 説明 == | ||
− | [[Version 2.8|WordPress 2.8]] から、テーマの作者がより効果的<!-- 効率的? -->に CSS で装飾できるようにする <code>body</code> 要素用の新テンプレートタグ '''body_class''' が加わりました。この関数は、HTML の body 要素(通常 header.php にある)に異なる class 属性を付与し、さらに任意の class を追加することもできます。 | + | [[Version 2.8|WordPress 2.8]] から、テーマの作者がより効果的<!-- 効率的? -->に CSS で装飾できるようにする <code>body</code> 要素用の新テンプレートタグ <code>'''body_class'''</code> が加わりました。この関数は、HTML の <code>body</code> 要素(通常 <code>header.php</code> にある)に異なる <code>class</code> 属性を付与し、さらに任意の class を追加することもできます。 |
== 使い方 == | == 使い方 == | ||
7行目: | 7行目: | ||
<?php body_class( [[#Parameters|$class]] ); ?> | <?php body_class( [[#Parameters|$class]] ); ?> | ||
− | body_class | + | <code>body_class</code> は、<code>class</code> 属性として次の値を一つ以上表示します。 |
* rtl | * rtl | ||
50行目: | 50行目: | ||
|+ | |+ | ||
! colspan="2" | ページ種類(条件) !! class !! 備考 | ! colspan="2" | ページ種類(条件) !! class !! 備考 | ||
− | |||
|- | |- | ||
− | ! [[Settings Reading SubPanel|表示設定]] > Front page displays - Your latest posts の場合 !! メインブログページ<br />([[Conditional Tags# | + | ! [[Settings Reading SubPanel|表示設定]] > フロントページの表示<!-- Front page displays --> が「最新の投稿」<!-- Your latest posts -->の場合 !! メインブログページ<br />([[Conditional Tags#The Front Page|is_front_page]], [[Conditional Tags#The Main Page|is_home]]) |
− | | '''home blog''' [ paged paged-''n'' ] || | + | | '''home blog''' [ paged paged-''n'' ] || [] 内は2ページ目以降のみ、''n'' はページ番号 |
|- | |- | ||
− | ! rowspan="2" | [[Settings Reading SubPanel|表示設定]] > Front page displays - A static page の場合 | + | ! rowspan="2" | [[Settings Reading SubPanel|表示設定]] > フロントページの表示<!-- Front page displays --> が「固定ページ」<!-- A static page -->の場合 |
− | ! | + | ! 「フロントページ」<!-- Front page -->として選択したページ ([[Conditional Tags#The Front Page|is_front_page]]) |
| '''home''' page page-id-''ID'' [*] || * ''is_page'' も参照 | | '''home''' page page-id-''ID'' [*] || * ''is_page'' も参照 | ||
|- | |- | ||
− | ! | + | ! 「投稿ページ」<!-- Posts page -->として選択したページ ([[Conditional Tags#The Main Page|is_home]]) |
| '''blog''' [ paged paged-''n'' ] || | | '''blog''' [ paged paged-''n'' ] || | ||
<!-- | <!-- | ||
74行目: | 73行目: | ||
--> | --> | ||
|- | |- | ||
− | ! rowspan="4" | is_archive !! is_author | + | ! rowspan="4" | アーカイブページ<br />(is_archive) |
− | | archive '''author author-''user_nicename'''''<!-- 'author-' . sanitize_html_class($author->user_nicename , $author->ID) --> [ paged paged-''n'' author-paged-''n'' ] || | + | ! <!-- is_archive -->著者 ([[Conditional Tags#An Author Page|is_author]]) |
+ | | archive '''author author-''user_nicename'''''<!-- 'author-' . sanitize_html_class($author->user_nicename , $author->ID) --> [ paged paged-''n'' '''author-paged-''n''''' ] || | ||
|- | |- | ||
− | ! <!-- is_archive -->is_category | + | ! <!-- is_archive -->カテゴリー ([[Conditional Tags#A Category Page|is_category]]) |
− | | archive '''category category-''slug''''' [ paged paged-''n'' category-paged-''n'' ] || | + | | archive '''category category-''slug''''' [ paged paged-''n'' '''category-paged-''n''''' ] || |
|- | |- | ||
− | ! <!-- is_archive -->is_tag | + | ! <!-- is_archive -->タグ ([[Conditional Tags#A Tag Page|is_tag]]) |
− | | archive '''tag tag-''slug''''' [ paged paged-''n'' tag-paged-''n'' ] || | + | | archive '''tag tag-''slug''''' [ paged paged-''n'' '''tag-paged-''n''''' ] || |
|- | |- | ||
− | ! <!-- is_archive -->is_date | + | ! <!-- is_archive -->日付 ([[Conditional Tags#A Date Page|is_date]]) |
− | | archive '''date''' [ paged paged-''n'' date-paged-''n'' ] || | + | | archive '''date''' [ paged paged-''n'' '''date-paged-''n''''' ] || |
|- | |- | ||
− | ! rowspan="2" | is_search !! 検索結果あり | + | ! rowspan="2" | 検索結果 ([[Conditional Tags#A Search Result Page|is_search]]) |
+ | ! <!-- is_search -->検索結果あり | ||
| search '''search-results''' [ paged paged-''n'' search-paged-''n'' ] || | | search '''search-results''' [ paged paged-''n'' search-paged-''n'' ] || | ||
|- | |- | ||
− | ! <!-- is_search --> 検索結果なし | + | ! <!-- is_search -->検索結果なし |
| search '''search-no-results''' [ paged paged-''n'' search-paged-''n'' ] || | | search '''search-no-results''' [ paged paged-''n'' search-paged-''n'' ] || | ||
|- | |- | ||
− | ! is_404 | + | ! colspan="2" | 404エラーページ ([[Conditional Tags#A 404 Not Found Page|is_404]]) |
| error404 || | | error404 || | ||
|- | |- | ||
− | ! is_single | + | ! colspan="2" | 単体記事ページ ([[Conditional Tags#A Single Post Page|is_single]]) |
| single postid-''ID'' [ paged paged-''n'' single-paged-''n''] || | | single postid-''ID'' [ paged paged-''n'' single-paged-''n''] || | ||
|- | |- | ||
− | ! is_attachment | + | ! colspan="2" | 添付ファイルページ ([[Conditional Tags#An Attachment|is_attachment]]) |
| attachment single postid-''ID'' attachmentid-''postID'' attachment-''mime-type''<!-- 'attachment-' . str_replace($mime_prefix, '', $mime_type) --> || | | attachment single postid-''ID'' attachmentid-''postID'' attachment-''mime-type''<!-- 'attachment-' . str_replace($mime_prefix, '', $mime_type) --> || | ||
|- | |- | ||
− | ! rowspan="3" | is_page !! - | + | ! rowspan="3" | [[Pages|固定ページ]] ([[Conditional Tags#A PAGE Page|is_page]]) |
+ | ! <!-- is_page -->- | ||
| page page-id-''ID'' [ page-template page-template-''template_file_name''<!-- 'page-template-' . str_replace( '.php', '-php', get_post_meta( $pageID, '_wp_page_template', true ) ) --> ] [ paged paged-''n'' page-paged-''n'' ] || | | page page-id-''ID'' [ page-template page-template-''template_file_name''<!-- 'page-template-' . str_replace( '.php', '-php', get_post_meta( $pageID, '_wp_page_template', true ) ) --> ] [ paged paged-''n'' page-paged-''n'' ] || | ||
|- | |- | ||
110行目: | 112行目: | ||
| page page-id-''ID'' '''page-child parent-pageid-''parent-ID''''' [ page-template page-template-''template_file_name'' ] [ paged paged-''n'' page-paged-''n'' ] || | | page page-id-''ID'' '''page-child parent-pageid-''parent-ID''''' [ page-template page-template-''template_file_name'' ] [ paged paged-''n'' page-paged-''n'' ] || | ||
|- | |- | ||
− | ! rowspan=" | + | ! rowspan="4" | (条件によってさらに追加される class) |
! is_user_logged_in | ! is_user_logged_in | ||
| logged-in || ログイン中 | | logged-in || ログイン中 | ||
|- | |- | ||
− | ! is_paged | + | ! [[Conditional Tags#A Paged Page|is_paged]] |
| paged || 改ページ | | paged || 改ページ | ||
− | |||
− | |||
− | |||
|- | |- | ||
! paged > 1<!-- $page && $page > 1 --> | ! paged > 1<!-- $page && $page > 1 --> | ||
139行目: | 138行目: | ||
=== 実装 ===<!-- Implementation --> | === 実装 ===<!-- Implementation --> | ||
− | + | <code>body_class</code> のテーマへの組み込み方の例を示します。 | |
<pre> | <pre> | ||
145行目: | 144行目: | ||
</pre> | </pre> | ||
− | + | 実際の HTML 出力は次のようになります(WordPress 新規インストールで作られる 'About' ページの例)。<!-- 日本語版ではどうなる? --> | |
− | <pre> | + | <pre class="example"> |
<body class="page page-id-2 page-template page-template-default logged-in"> | <body class="page page-id-2 page-template page-template-default logged-in"> | ||
</pre> | </pre> |
2010年1月8日 (金) 00:42時点における版
説明
WordPress 2.8 から、テーマの作者がより効果的に CSS で装飾できるようにする body
要素用の新テンプレートタグ body_class
が加わりました。この関数は、HTML の body
要素(通常 header.php
にある)に異なる class
属性を付与し、さらに任意の class を追加することもできます。
使い方
<?php body_class( $class ); ?>
body_class
は、class
属性として次の値を一つ以上表示します。
- rtl
- home
- blog
- archive
- date
- search
- paged
- attachment
- error404
- single postid-(id)
- attachmentid-(id)
- attachment-(mime-type)
- author
- author-(user_nicename)
- category
- category-(slug)
- tag
- tag-(slug)
- page-parent
- page-child parent-pageid-(id)
- page-template page-template-(template file name)
- search-results
- search-no-results
- logged-in
- paged-(page number)
- single-paged-(page number)
- page-paged-(page number)
- category-paged-(page number)
- tag-paged-(page number)
- date-paged-(page number)
- author-paged-(page number)
- search-paged-(page number)
ページ種類別初期値一覧
ページ種類(条件) | class | 備考 | |
---|---|---|---|
表示設定 > フロントページの表示 が「最新の投稿」の場合 | メインブログページ (is_front_page, is_home) |
home blog [ paged paged-n ] | [] 内は2ページ目以降のみ、n はページ番号 |
表示設定 > フロントページの表示 が「固定ページ」の場合 | 「フロントページ」として選択したページ (is_front_page) | home page page-id-ID [*] | * is_page も参照 |
「投稿ページ」として選択したページ (is_home) | blog [ paged paged-n ] | ||
アーカイブページ (is_archive) |
著者 (is_author) | archive author author-user_nicename [ paged paged-n author-paged-n ] | |
カテゴリー (is_category) | archive category category-slug [ paged paged-n category-paged-n ] | ||
タグ (is_tag) | archive tag tag-slug [ paged paged-n tag-paged-n ] | ||
日付 (is_date) | archive date [ paged paged-n date-paged-n ] | ||
検索結果 (is_search) | 検索結果あり | search search-results [ paged paged-n search-paged-n ] | |
検索結果なし | search search-no-results [ paged paged-n search-paged-n ] | ||
404エラーページ (is_404) | error404 | ||
単体記事ページ (is_single) | single postid-ID [ paged paged-n single-paged-n] | ||
添付ファイルページ (is_attachment) | attachment single postid-ID attachmentid-postID attachment-mime-type | ||
固定ページ (is_page) | - | page page-id-ID [ page-template page-template-template_file_name ] [ paged paged-n page-paged-n ] | |
親ページ | page page-id-ID page-parent [ page-template page-template-template_file_name ] [ paged paged-n page-paged-n ] | ||
子ページ | page page-id-ID page-child parent-pageid-parent-ID [ page-template page-template-template_file_name ] [ paged paged-n page-paged-n ] | ||
(条件によってさらに追加される class) | is_user_logged_in | logged-in | ログイン中 |
is_paged | paged | 改ページ | |
paged > 1 | paged-n page-paged-n | 2ページ目以降 | |
text_direction: rtl | rtl | 右→左向きに書く言語 |
パラメータ
- class
- (文字列 または 配列)(オプション) 初期値のほかに追加したい class 名。複数指定するときは(半角)スペースで区切る。初期値は null。
用例
実装
body_class
のテーマへの組み込み方の例を示します。
<body <?php body_class(); ?>>
実際の HTML 出力は次のようになります(WordPress 新規インストールで作られる 'About' ページの例)。
<body class="page page-id-2 page-template page-template-default logged-in">
デフォルトテーマにおける使用例
wp-content/themes/default/header.php
を参照。
ソースコード
body_class()
は wp-includes/post-template.php
にあります。
変更履歴
- 2.8 : 新規テンプレートタグ
最新英語版: WordPress Codex » Template Tags/body class (最新版との差分)
関連
投稿タグ: body_class(), next_image_link(), next_post_link(), next_posts_link(), post_class(), post_password_required(), posts_nav_link(), previous_image_link(), previous_post_link(), previous_posts_link(), single_post_title(), sticky_class(), the_category(), the_category_rss(), the_content(), the_content_rss(), the_excerpt(), the_excerpt_rss(), the_ID(), the_meta(), the_shortlink(), the_tags(), the_title(), the_title_attribute(), the_title_rss(), wp_link_pages(),