使用body_class()
, 默认情况下,WordPress会添加如下类parent-pageid-43
对它。不过,这只深入了一层。
下面的代码适用于父页面的任何祖先,而不仅仅是子页面。它依赖于is_page_or_ancestor plugin 为此。
正如凯撒所说,身体课程是一条必由之路。您可以通过修改$parents
大堆
add_filter(\'body_class\', \'my_body_class\', 10, 2);
function my_body_class($wp_classes, $extra_classes)
{
// List of parent pages with custom template
$parents = array(
// page ID => body class
43 => \'template-a\',
57 => \'template-b\',
);
// Loop over each parent
foreach ($parents as $page_id => $class)
{
// http://wordpress.org/extend/plugins/is-page-or-ancestor/
if (is_page_or_ancestor($page_id))
{
// Add body class
$wp_classes[] = $class;
}
}
// Add the extra classes back untouched
return array_merge($wp_classes, (array) $extra_classes);
}