admin管理员组文章数量:1130349
If I print the value of get_theme_mod( 'enable_sleek_header', false ) it is always the previously saved value. If I print the same thing in the header of the theme, it returns the value from customizer.
- Is it the expected behaviour?
- Am I using the wrong hook?
Thanks
<?php
add_action( 'after_setup_theme', 'pagespeed_register_menus' );
function pagespeed_register_menus() {
//Not getting the modified theme_mod from the customizer without saving.
register_nav_menus( array(
'secondary' => __( 'Navigation above header', 'page-speed' ),
) );
if ( get_theme_mod( 'enable_sleek_header', false ) ) {
register_nav_menus( array(
'header' => __( 'Navigation menu in header', 'page-speed' ),
) );
} else {
register_nav_menus( array(
'primary' => __( 'Navigation below header', 'page-speed' ),
) );
}
register_nav_menus( array(
'footer_links' => __( 'Footer links', 'page-speed' ),
) );
}
If I print the value of get_theme_mod( 'enable_sleek_header', false ) it is always the previously saved value. If I print the same thing in the header of the theme, it returns the value from customizer.
- Is it the expected behaviour?
- Am I using the wrong hook?
Thanks
<?php
add_action( 'after_setup_theme', 'pagespeed_register_menus' );
function pagespeed_register_menus() {
//Not getting the modified theme_mod from the customizer without saving.
register_nav_menus( array(
'secondary' => __( 'Navigation above header', 'page-speed' ),
) );
if ( get_theme_mod( 'enable_sleek_header', false ) ) {
register_nav_menus( array(
'header' => __( 'Navigation menu in header', 'page-speed' ),
) );
} else {
register_nav_menus( array(
'primary' => __( 'Navigation below header', 'page-speed' ),
) );
}
register_nav_menus( array(
'footer_links' => __( 'Footer links', 'page-speed' ),
) );
}
Share
Improve this question
asked Jan 1, 2018 at 18:12
Satish GandhamSatish Gandham
4013 silver badges5 bronze badges
1
- I am sure that after_setup_theme is the wrong approach , maybe this helps codex.wordpress/Theme_Customization_API – seot Commented Aug 30, 2018 at 19:48
1 Answer
Reset to default 0To register my menus I usually use the init action hook, maybe you could try it.
add_action( 'init', 'pagespeed_register_menus' );
instead of
add_action( 'after_setup_theme', 'pagespeed_register_menus' );
If I print the value of get_theme_mod( 'enable_sleek_header', false ) it is always the previously saved value. If I print the same thing in the header of the theme, it returns the value from customizer.
- Is it the expected behaviour?
- Am I using the wrong hook?
Thanks
<?php
add_action( 'after_setup_theme', 'pagespeed_register_menus' );
function pagespeed_register_menus() {
//Not getting the modified theme_mod from the customizer without saving.
register_nav_menus( array(
'secondary' => __( 'Navigation above header', 'page-speed' ),
) );
if ( get_theme_mod( 'enable_sleek_header', false ) ) {
register_nav_menus( array(
'header' => __( 'Navigation menu in header', 'page-speed' ),
) );
} else {
register_nav_menus( array(
'primary' => __( 'Navigation below header', 'page-speed' ),
) );
}
register_nav_menus( array(
'footer_links' => __( 'Footer links', 'page-speed' ),
) );
}
If I print the value of get_theme_mod( 'enable_sleek_header', false ) it is always the previously saved value. If I print the same thing in the header of the theme, it returns the value from customizer.
- Is it the expected behaviour?
- Am I using the wrong hook?
Thanks
<?php
add_action( 'after_setup_theme', 'pagespeed_register_menus' );
function pagespeed_register_menus() {
//Not getting the modified theme_mod from the customizer without saving.
register_nav_menus( array(
'secondary' => __( 'Navigation above header', 'page-speed' ),
) );
if ( get_theme_mod( 'enable_sleek_header', false ) ) {
register_nav_menus( array(
'header' => __( 'Navigation menu in header', 'page-speed' ),
) );
} else {
register_nav_menus( array(
'primary' => __( 'Navigation below header', 'page-speed' ),
) );
}
register_nav_menus( array(
'footer_links' => __( 'Footer links', 'page-speed' ),
) );
}
Share
Improve this question
asked Jan 1, 2018 at 18:12
Satish GandhamSatish Gandham
4013 silver badges5 bronze badges
1
- I am sure that after_setup_theme is the wrong approach , maybe this helps codex.wordpress/Theme_Customization_API – seot Commented Aug 30, 2018 at 19:48
1 Answer
Reset to default 0To register my menus I usually use the init action hook, maybe you could try it.
add_action( 'init', 'pagespeed_register_menus' );
instead of
add_action( 'after_setup_theme', 'pagespeed_register_menus' );
本文标签: getthememod doesn39t return the theme customizer preview39s new values in aftersetuptheme hook
版权声明:本文标题:get_theme_mod doesn't return the theme customizer preview's new values in after_setup_theme hook 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/questions/1749239256a2337801.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论