Добавление значений параметров темы в качестве пользовательского класса тела

Я хочу добавить некоторые пользовательские классы в элемент body на основе параметров темы.

Я установил два параметра темы («rounded_corner_radio» и «gradient_radio»), которые успешно выводят свои значения в интерфейс, используя эхо, чтобы я знал, что они работают.

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

<?php $rounded_corner_radio = of_get_option( 'rounded_corner_radio' ); $gradient_radio = of_get_option( 'gradient_radio' ); function custom_body_classes( $classes ) { $classes[] = $rounded_corner_radio; $classes[] = $gradient_radio; return $classes; } add_filter( 'body_class','custom_body_classes' ); ?> <body <?php body_class( ''); ?>> 

Заранее спасибо,

Том

Solutions Collecting From Web of "Добавление значений параметров темы в качестве пользовательского класса тела"

Просмотрите, как работает область переменной . ,

Давайте не будем добавлять еще одну глобальную переменную, вместо этого мы можем, например, получить значения параметров в обратном вызове фильтра:

 function wpse251261_custom_body_classes( $classes ) { // Get option values $rounded_corner_radio = of_get_option( 'rounded_corner_radio' ); $gradient_radio = of_get_option( 'gradient_radio' ); // Assign new body classes $classes[] = esc_attr( $rounded_corner_radio ); $classes[] = esc_attr( $gradient_radio ); return $classes; } add_filter( 'body_class','wpse251261_custom_body_classes' ); 

Обратите внимание, что мы esc_attr() с esc_attr() , потому что фильтр body_class применяется после такого экранирования в get_body_class() .