Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions classes/class-onboard-wizard.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,21 +51,21 @@ public function maybe_register_popover_hooks() {
// 2. Onboarding already in progress.
// 3. Branded site (privacy auto-accepted, but still needs onboarding).
$is_branded = 0 !== (int) \progress_planner()->get_ui__branding()->get_branding_id();
$skip_onboarding = \progress_planner()->is_privacy_policy_accepted()
&& ! \get_option( 'prpl_onboard_progress', false )
&& ! $is_branded;
$show_onboarding = ! \progress_planner()->is_privacy_policy_accepted()
|| \get_option( 'prpl_onboard_progress', false )
|| $is_branded;

/**
* Filter whether to skip the onboarding wizard.
* Filter whether to show the onboarding wizard.
*
* Hosting integrations can use this filter to force showing
* or hiding the onboarding wizard.
*
* @param bool $skip_onboarding Whether to skip showing the onboarding wizard.
* @param bool $show_onboarding Whether to show the onboarding wizard.
*/
$skip_onboarding = \apply_filters( 'progress_planner_skip_onboarding', $skip_onboarding );
$show_onboarding = \apply_filters( 'progress_planner_show_onboarding', $show_onboarding );

if ( $skip_onboarding ) {
if ( ! $show_onboarding ) {
return;
}

Expand Down
12 changes: 6 additions & 6 deletions tests/phpunit/test-class-onboard-wizard.php
Original file line number Diff line number Diff line change
Expand Up @@ -336,30 +336,30 @@ public function test_rest_pre_insert_attachment_passes_through_non_prpl() {
}

/**
* Test skip_onboarding filter.
* Test show_onboarding filter.
*
* @return void
*/
public function test_skip_onboarding_filter() {
public function test_show_onboarding_filter() {
// Set admin user.
\wp_set_current_user( $this->admin_user_id );

// Ensure privacy is not accepted (would normally show onboarding).
\delete_option( 'progress_planner_license_key' );

// Add filter to skip onboarding.
\add_filter( 'progress_planner_skip_onboarding', '__return_true' );
// Add filter to hide onboarding.
\add_filter( 'progress_planner_show_onboarding', '__return_false' );

$wizard = new Onboard_Wizard();
$wizard->maybe_register_popover_hooks();

// Footer hooks should NOT be registered when filter skips onboarding.
// Footer hooks should NOT be registered when filter hides onboarding.
$this->assertFalse(
\has_action( 'wp_footer', [ $wizard, 'add_popover' ] )
);

// Remove filter.
\remove_filter( 'progress_planner_skip_onboarding', '__return_true' );
\remove_filter( 'progress_planner_show_onboarding', '__return_false' );
}

/**
Expand Down
Loading