Filter the result of settings save operations. This allows you to hook into settings saves, modify save behavior, or perform additional actions when settings are saved.
When Alpha Insights settings are saved, this filter is called with the save result. You can use this to perform additional actions, modify the save result, or trigger custom logic after settings are saved.
File: includes/admin/wpd-settings.php
Function: Settings save handler
Line: ~603
| Parameter | Type | Description |
|---|---|---|
| $saved | bool | Whether the settings were successfully saved (default: true/false from save operation) |
Type: bool
Description: Modified save result (true for success, false for failure)
add_filter( 'wpd_ai_save_settings', 'clear_cache_on_settings_save' );
function clear_cache_on_settings_save( $saved ) {
if ( $saved ) {
// Clear relevant caches when settings are saved
wp_cache_flush();
// Or clear specific transients
delete_transient( 'wpd_ai_report_*' );
}
return $saved;
}
add_filter( 'wpd_ai_save_settings', 'log_settings_changes' );
function log_settings_changes( $saved ) {
if ( $saved ) {
$user = wp_get_current_user();
error_log( sprintf(
'Alpha Insights settings saved by user: %s (ID: %d) at %s',
$user->user_login,
$user->ID,
current_time( 'mysql' )
) );
}
return $saved;
}
add_filter( 'wpd_ai_save_settings', 'notify_on_settings_save' );
function notify_on_settings_save( $saved ) {
if ( $saved ) {
// Send email notification to admin
$admin_email = get_option( 'admin_email' );
wp_mail(
$admin_email,
'Alpha Insights Settings Updated',
'Alpha Insights settings have been updated on ' . get_site_url()
);
}
return $saved;
}
add_filter( 'wpd_ai_save_settings', 'sync_settings_to_external' );
function sync_settings_to_external( $saved ) {
if ( $saved ) {
// Sync settings to external CRM or system
$settings = get_option( 'wpd_alpha_insights_settings', array() );
// Make API call to sync
wp_remote_post( 'https://your-api.com/sync-settings', array(
'body' => json_encode( $settings ),
'headers' => array( 'Content-Type' => 'application/json' )
) );
}
return $saved;
}
add_filter( 'wpd_ai_save_settings', 'validate_settings_before_save', 5 );
function validate_settings_before_save( $saved ) {
// This runs after save, but you can still check and potentially revert
if ( $saved ) {
$settings = get_option( 'wpd_alpha_insights_settings', array() );
// Validate specific setting
if ( isset( $settings['some_setting'] ) && $settings['some_setting'] < 0 ) {
// Invalid value - you could update_option to fix it
$settings['some_setting'] = 0;
update_option( 'wpd_alpha_insights_settings', $settings );
}
}
return $saved;
}
Good Use Cases:
Not Recommended For:
add_filter( 'wpd_ai_save_settings', 'debug_settings_save', 999 );
function debug_settings_save( $saved ) {
error_log( 'Alpha Insights Settings Save Result: ' . ( $saved ? 'SUCCESS' : 'FAILED' ) );
if ( $saved ) {
$settings = get_option( 'wpd_alpha_insights_settings', array() );
error_log( 'Current Settings: ' . print_r( $settings, true ) );
}
return $saved;
}
update_option() - WordPress function for saving optionsget_option() - WordPress function for retrieving options