Code
目前,我正在进行一个项目,用简单数组自动生成所有主题定制器选项。
\'nav_font_style\' => array(
\'default_options\' => array(
1 => \'default\',),
\'css\' => " nav#for-mobile h1 { font-family: $",
\'stylesheet_handle\' => \'semperfi-navigation\',
\'label\' => __(\'Font\', \'semper-fi-lite\'),
\'description\' => array(
1 => \'\', ),
\'panel_title\' => __(\'Navigation\', \'semper-fi-lite\'),
\'panel_priority\' => 1,
\'priority\' => 10,
\'section_title\' => __(\'Menu Title\', \'semper-fi-lite\'),
\'section_priority\' => 10,
\'selector\' => \'nav#for-mobile h1\',
\'type\' => \'font\'),
此数组具有生成主题选项所需的一切。Bellow是它将通过的循环。
// Add a font selector to Customizer
if ($values[\'type\'] == \'font\') {
$wp_customize->add_setting( $option . \'_\' . $i, array(
\'default\' => \'Default\',
\'sanitize_callback\' => \'semperfi_sanitize_css\', ) );
$wp_customize->add_control( $option . \'_\' . $i . \'_control\', array(
\'section\' => str_replace( "~", $semperfi_customizer_multi_dimensional_array[$i], $section_title_transformed ),
\'label\' => $values[\'label\'],
\'description\' => $values[\'description\'][$i],
\'priority\' => $values[\'priority\'],
\'type\' => \'select\',
\'settings\' => $option . \'_\' . $i,
\'stylesheet_handle\' => $values[\'stylesheet_handle\'],
\'choices\' => $finalized_google_font_array));
}
当我转到sanitize\\u回调时,我在使用它访问所有选项时遇到了问题,就像上面解释的那样
How to get input_attrs in the sanitize function? function semperfi_sanitize_css( $input , $setting ) {
set_theme_mod( \'semperfi_testing\' , $setting->manager->get_control( \'nav_font_style_1\' )->input_attrs );
return $input;
}
上面的清理功能只是为了测试,但我确实需要访问句柄,以便将CSS应用于正确的工作表样式。
谢谢你的帮助!