| @@ -1,4 +1,4 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | /** |
| 3 | 3 | * @version 1.0 |
| 4 | 4 | * @package Tour |
| @@ -164,9 +164,9 @@ | ||
| 164 | 164 | 'title' => sprintf( __( 'Welcome to %s', 'booking' ), '<strong>WP Booking Calendar</strong>' ), |
| 165 | 165 | 'text' => sprintf( __('We\'ll guide you through the steps to set up WP Booking Calendar on your site.','booking'), '<strong>WP Booking Calendar</strong>' ), |
| 166 | 166 | 'button' => array( |
| 167 | 167 | 'text' => __( 'Let\'s go', 'booking' ), |
| 168 | - 'url' => wpbc_get_setup_wizard_page_url() // URL to start new Guide: wpbc_get_settings_url() . '&wpbc_setup_wizard=reset&_wpnonce=' . wp_create_nonce( 'wpbc_settings_url_nonce' ) | |
| 168 | + 'url' => wpbc_get_setup_wizard_page_url(), | |
| 169 | 169 | ) |
| 170 | 170 | ), |
| 171 | 171 | 'setup_page' => array( |
| 172 | 172 | 'title' => 'Step 1 / 10', |
| @@ -190,15 +190,31 @@ | ||
| 190 | 190 | } |
| 191 | 191 | } |
| 192 | 192 | |
| 193 | 193 | |
| 194 | -/** | |
| 195 | - * Just for loading CSS and JavaScript files and define Ajax hook | |
| 196 | - */ | |
| 197 | -if ( | |
| 198 | - ( ! wpbc_is_this_demo() ) && | |
| 199 | - ( wpbc_setup_wizard_page__is_need_start() ) && | |
| 200 | - ( wpbc_is_user_can_access_wizard_page() ) | |
| 201 | -) { | |
| 202 | - $wpbc_js_css_loading = new WPBC_Tour_01; | |
| 203 | - $wpbc_js_css_loading->init_load_css_js(); | |
| 204 | -} | |
| 194 | +/** | |
| 195 | + * Initialize Setup Wizard tour assets after WordPress bootstrap is ready. | |
| 196 | + * | |
| 197 | + * The tour eligibility check reads Setup Wizard route state and, in MultiUser, | |
| 198 | + * the current WordPress user. Running it while this file is included is too | |
| 199 | + * early because pluggable current-user functions and just-in-time translation | |
| 200 | + * loading are not guaranteed until `init`. | |
| 201 | + * | |
| 202 | + * @return void | |
| 203 | + */ | |
| 204 | +function wpbc_tour_maybe_initialize_setup_wizard_tour() { | |
| 205 | + | |
| 206 | + if ( | |
| 207 | + ! is_admin() | |
| 208 | + || wpbc_is_this_demo() | |
| 209 | + || ! class_exists( 'WPBC_Setup_Wizard_First_Run_Launcher' ) | |
| 210 | + || ! class_exists( 'WPBC_Setup_Wizard_Access' ) | |
| 211 | + || ! WPBC_Setup_Wizard_First_Run_Launcher::is_prompt_pending() | |
| 212 | + || ! WPBC_Setup_Wizard_Access::current_user_can_access() | |
| 213 | + ) { | |
| 214 | + return; | |
| 215 | + } | |
| 216 | + | |
| 217 | + $wpbc_js_css_loading = new WPBC_Tour_01(); | |
| 218 | + $wpbc_js_css_loading->init_load_css_js(); | |
| 219 | +} | |
| 220 | +add_action( 'init', 'wpbc_tour_maybe_initialize_setup_wizard_tour', 20 ); | |