我使用的是在函数中定义的全局变量after_setup_theme
. 此变量未在主题自定义程序中获取更新更改。
Let me explain this with an example:
add_action( \'customize_register\', "example_customizer_register");
function example_customizer_register($wp_customize) {
$wp_customize->add_setting( \'example_settings[example-variable]\', array(
\'type\' => \'option\',
\'default\' => false,
\'sanitize_callback\' => \'esc_attr\'
) );
$wp_customize->add_control( \'example_settings[example-variable]\', array(
\'label\' => \'Example Setting\',
\'type\' => \'checkbox\',
\'section\' => \'title_tagline\',
) );
}
add_action("after_setup_theme", "example_after_setup_theme");
function example_after_setup_theme(){
global $example_settings;
$example_settings = get_option( "example_settings", array());
}
add_action("wp_head", "example_wp_head");
function example_wp_head(){
global $example_settings;
if (isset($example_settings["example-variable"]) && true == $example_settings["example-variable"]) {
echo "Example Setting";
}
}
此代码正在主题自定义程序的站点标识部分添加一个示例设置,但该设置不起作用。如果我改变;add_action("after_setup_theme", "example_after_setup_theme");
至add_action("wp", "example_after_setup_theme");
它正在工作。但我需要它after_setup_theme
. 有什么解决方案吗?