[サイト作り] [WordPress] body classを付ける
body class を、付けれるハック
対応バージョン wp2.7以降(2.8でテスト)
参考:英語サイト
Extending the Wordpress body_class function with the top level parent ID
function.php に、次のコードを入れる
<?php
add_filter('body_class','top_level_parent_id_
body_class');
function top_level_parent_id_body_class($classes) {
global $wpdb, $post;
if (is_page()) {
if ($post->post_parent) {
$ancestors=get_post_ancestors($post->ID);
$root=count($ancestors)-1;
$parent = $ancestors[$root];
} else {
$parent = $post->ID;
}
$classes[] = 'top-level-parent-pageid-' . $parent;
}
return $classes;
}
?>
このようになる。
トップページ
<body class="home blog">
カテゴリー
<body class="archive category category-1">
アーカイブ
<body class="archive date">
シングルページ
<body class="single postid-13">
ページ
<body class="page page-id-2 parent-pageid-0 page-template- top-level-parent-pageid-2">
関連してるかもしれないエントリー
- [WordPress] bodyを、ページごとにbody id="xxx"に変更
- [WordPress プラグイン] Article Directory – 記事ディレクトリプラグインを使ってみた
- [WordPress] id や class にカテゴリースラッグ
- [WordPress] uCart備忘録(カテゴリまわり)
- [WordPress] WordPressでウェブサイトっぽいの作る
- [WordPress] 投稿内のワード数を表示
- [bbPress] 一般ユーザーにもCustom Titleを与えニックネーム項目を付ける
- [WordPress] 投稿本文の指定した段階の下にバナーでも
- [WordPress] エントリー内のスタイルを記事に応じて変更したい場合
- [WordPress] トップページの新着記事のタイトルなどを変更
