祖先ページのスラッグを取得してbody_classに追加する

body_class()にページのスラッグを追加したい、親ページや祖先ページのスラッグも追加したい、というときのコードです。

<?php
if (is_front_page()) {//トップページの場合
	$slug = "top";
} else {//トップページ以外の場合
	$slugs = array();//slugsという配列を定義
	$parent_slugs = get_post_ancestors($post); //祖先ページのid配列
	if ($parent_slugs) {//祖先ページがあるとき
		foreach ($parent_slugs as $parent_slug) {
			$slugs[] = get_post($parent_slug)->post_name;//slugsに祖先ページのスラッグを追加
		}
	}
	$slugs[] = $post->post_name;//現在のページのスラッグを追加
	$slug = implode(' ', $slugs);//配列をスペースで区切って文字列にする
}
$class = $slug;
?>

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