Я разрабатываю тему wordpress, и я устанавливаю cookie на основе определенных условий. Он отлично работает - я могу установить файл cookie и получить файл cookie. Моя проблема заключается в добавлении класса в документ-элемент на основе значения файла cookie, например. <html class="special-class">
, если значение cookie равно true и <html class="regular-class">
, если значение false.Добавить класс в document.documentElement с php
Как это сделать в Wordpress? Код, который я хочу, будет выглядеть так:
function my_theme_getcookie() {
if (isset($_COOKIE['cookie-name']) && $_COOKIE['cookie-name'] == 'true' ) {
// Add the class "special-snowflake" to <html> tag...
}
}
add_action('wp_head', 'my_theme_getcookie');
Мой Обойти теперь добавить свой особый класс <body>
, а не <html>
используя что-то на основе следующего из WordPress Codex
function my_theme_class_names($classes) {
// add 'class-name' to the $classes array
$classes[] = 'class-name';
// return the $classes array
return $classes;
}
Тогда я можно назвать эту функцию, когда я проверяю для печенья:
function my_theme_getcookie() {
if (isset($_COOKIE['cookie-name']) && $_COOKIE['cookie-name'] == 'true' ) {
add_filter('body_class', 'my_theme_class_names');
}
}
похоже, нет html_class() аналоговый фильтр body_class()
Я уверен, что это сработает, но я не хотел этого. Я бы предпочел не использовать JavaScript в этом случае - я надеялся использовать компилятор Wordpress, например, который можно сделать с помощью add_filter для body body, что позволяет добавлять классы в
. Кажется, что эквивалент для тега . –Поиск, если бы вы могли это выяснить. Я никогда не делал этого с тегом ''. –