Добавить пользовательское имя класса в тег тега 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 и измените класс там (вручную или в соответствии с некоторыми предустановленными логическими правилами).