WordPress получить настройки настройщика

В настоящее время я работаю над своим первым углубленным пользовательским шаблоном для WordPress, используя функциональность настройщика.

Я могу создавать параметры, а также сохранять их, но почему-то не могу перенести их на саму страницу. Код, который я использую:

//Do we want our template to be boxed or wide?
function cbTheme_customize_register($wp_customize){
//  =============================
//  = Add section               =
//  =============================
$wp_customize->add_section('cbTheme_general_settings', array(
'title'    => __('General Settings', 'cbTheme'),
'description' => 'Determines wether your site is boxed, or has 100% width',
'priority' => 10,
));
//  =============================
//  = Add setting               =
//  =============================
$wp_customize->add_setting('cbTheme_site_settings[sitewidth]', array(
'default'        => 'value1',
'capability'     => 'edit_theme_options',
'type'           => 'option',
));
$wp_customize->add_control('cbTheme_site_width', array(
'label'      => __('Site width', 'cbTheme'),
'section'    => 'cbTheme_general_settings',
'settings'   => 'cbTheme_site_settings[sitewidth]',
'type'       => 'radio',
'choices'    => array(
'value1' => 'Wide',
'value2' => 'Boxed',
),
));
}
add_action( 'customize_register', 'cbTheme_customize_register' );

Я использую это в моем header.php (первые строки), чтобы попытаться получить параметры (как они сохраняют).

//GET ALL SETTINGS FROM CUSTOMIZER
function cbTheme_customize_css($wp_customize){
$sitewidth = get_theme_mod('cbTheme_site_settings[sitewidth]');
}
add_action( 'wp_head', 'cbTheme_customize_css');

Любой совет / отзыв по этому поводу? Я предполагаю, что неисправный код является последней частью. Я пытался следовать кодексу, но я потерян в процессе поиска данных.

0

Решение

Хорошо, я был в поиске ответа навсегда и нашел обходной путь на данный момент. Если у кого-то есть лучший ответ, пожалуйста, предоставьте его мне / другим пользователям. Обходной путь, который я использовал, должен быть применен во второй части кода, где вы получаете параметры темы.

Чтобы исправить проблему, замените это

$sitewidth = get_theme_mod('cbTheme_site_settings[sitewidth]');

с этим

extract(get_option('cbTheme_site_settings'));

Это предоставит вам переменные, которые имеют ключ массива в качестве имени переменной, прямо из таблицы параметров.

0

Другие решения

Других решений пока нет …