将顶层父页面ID添加到Body类

时间:2020-06-03 作者:n00bly

我需要将顶级父页面id添加到页面的主体类中。

主页(id:10)-子页(id:11)-子详细页(id:12)

默认情况下,它类似于:子页面在body类中获取父Id 10。子详细信息页面获取body类中的父Id 11。

我需要的是,子页面详细信息需要将上层父id添加到body类中,以便将id 10添加到body中。

我唯一能找到的就是默认情况。我怎样才能做到这一点?

1 个回复
SO网友:n00bly

found it:

add_filter( \'body_class\', \'dc_parent_body_class\' );
    function dc_parent_body_class( $classes ) {
        if( is_page() ) { 
            $parents = get_post_ancestors( get_the_ID() );
            $id = ($parents) ? $parents[count($parents)-1]: get_the_ID();
        if ($id) {
            $classes[] = \'top-parent-\' . $id;
        } else {
            $classes[] = \'top-parent-\' . get_the_ID();
        }
    }

    return $classes;
}