WordPressの body_class()にページスラッグの決定版

以前書いた記事WordPressの body_class()にページスラッグをの発展型です。
functions.phpに以下を追加。

<br />
function pagename_class($classes = '') {<br />
    if (is_page()) {<br />
        $page = get_post(get_the_ID());<br />
        $classes[] = 'page-' . $page->post_name;<br />
        if ($page->post_parent) {<br />
            $classes[] = 'page-' . get_page_uri($page->post_parent) . '-child';<br />
       }<br />
  }<br />
  return $classes;<br />
}<br />
add_filter('body_class', 'pagename_class');<br />

6行目 get_page()がdeprecatedになっていたのでget_post()に変更しました

これで、<body>タグに
ページスラッグのclass
.page-[pagename]
と、親ページを持つ場合は
その親ページスラッグのコページであることを示すclass
.page-[parent-pagename]-chid
が追加され、ページ投稿でのデザインの振り分けが自由自在になりそうです。

“WordPressの body_class()にページスラッグの決定版” への2件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です