wc_update_store_notice_visible_on_theme_switch()
Update the Store Notice visibility when switching themes:
- When switching from a classic theme to a block theme, disable the Store Notice.
- When switching from a block theme to a classic theme, re-enable the Store Notice only if it was enabled last time there was a switchi from a classic theme to a block theme.
Хуков нет.
Возвращает
null. Ничего (null).
Использование
wc_update_store_notice_visible_on_theme_switch( $old_name, $old_theme );
- $old_name(строка) (обязательный)
- Old theme name.
- $old_theme(WP_Theme) (обязательный)
- Instance of the old theme.
Список изменений
| С версии 9.7.0 | Введена. |
Код wc_update_store_notice_visible_on_theme_switch() wc update store notice visible on theme switch WC 10.8.1
function wc_update_store_notice_visible_on_theme_switch( $old_name, $old_theme ) {
$enable_store_notice_in_classic_theme_option = 'woocommerce_enable_store_notice_in_classic_theme';
$is_store_notice_active_option = 'woocommerce_demo_store';
if ( ! $old_theme->is_block_theme() && wp_is_block_theme() ) {
/*
* When switching from a classic theme to a block theme, check if the store notice is active,
* if it is, disable it but set an option to re-enable it when switching back to a classic theme.
*/
if ( is_store_notice_showing() ) {
update_option( $is_store_notice_active_option, wc_bool_to_string( false ) );
add_option( $enable_store_notice_in_classic_theme_option, wc_bool_to_string( true ) );
}
} elseif ( $old_theme->is_block_theme() && ! wp_is_block_theme() ) {
/*
* When switching from a block theme to a clasic theme, check if we have set the option to
* re-enable the store notice. If so, re-enable it.
*/
$enable_store_notice_in_classic_theme = wc_string_to_bool( get_option( $enable_store_notice_in_classic_theme_option, 'no' ) );
if ( $enable_store_notice_in_classic_theme ) {
update_option( $is_store_notice_active_option, wc_bool_to_string( true ) );
delete_option( $enable_store_notice_in_classic_theme_option );
}
}
}