Добавить пользовательское имя класса в тег тега Wordpress?

Я хотел бы разместить директиву в моем файле functions.php темы, который добавляет имя класса в тег bodypress wordpress. Есть ли встроенный метод API для этого?

Например, код тега моего тела...

<body <?php if(function_exists("body_class") && !is_404()){body_class();} else echo 'class="page default"'?>>

И это приводит к тому, что следующее записывается в тег body (в зависимости от контекста, в котором представлена ​​страница (страница, сообщение, вход в систему и т.д.)

<body class="home blog logged-in"> 

В зависимости от дочерней темы, которую я использую в то время, я хочу, чтобы она была...

<body class="home blog logged-in mychildthemename"> 

Ответ 1

Вы можете использовать фильтр body_class, например:

function my_plugin_body_class($classes) {
    $classes[] = 'foo';
    return $classes;
}

add_filter('body_class', 'my_plugin_body_class');

Хотя, очевидно, ваша тема должна вызвать соответствующую функцию body_class.

Ответ 2

Вы также можете использовать его непосредственно внутри функции body_class WP, которая добавит строку внутри класса body.

например.

$class="custom-class";
<body <?php body_class($class); ?>>

http://codex.wordpress.org/Function_Reference/body_class

Ответ 3

Если вы пытаетесь добавить классы в тег body в области администратора, не забудьте использовать вместо этого admin_body_class. Обратите внимание, что это фильтр, который работает несколько иначе, поскольку он передает строку классов, а не массив, поэтому ваш код будет выглядеть так:

add_filter('admin_body_class', 'my_admin_body_class');
function my_admin_body_class($classes) {
    return $classes . ' my_class';
}

Ответ 4

Попробуйте это.

    add_filter( 'body_class', 'custom_class' );
function custom_class( $classes ) {
    if ( !is_front_page() ) {
        $classes[] = 'example';
    }
    return $classes;
}

Ответ 5

Если вы просто хотите добавить класс на основе шаблона страницы, обратите внимание, что теперь WP автоматически добавляет класс для каждого шаблона в тег body.

Ответ 6

Вот гораздо лучшее решение, где вы можете выборочно удалять классы, вносить в белый список некоторые и добавлять дополнительные классы: здесь

Ответ 7

Просто отредактируйте свою тему header.php и измените класс там (вручную или в соответствии с некоторыми предустановленными логическими правилами).