'boolean', 'description' => __('Enable or disable the scroll to top button', 'caliph'), 'show_in_rest' => true, 'default' => false, ) ); // Register the hover effects setting register_setting( 'theme', 'caliph_hover_effects', array( 'type' => 'boolean', 'description' => __('Enable or disable hover effects for interactive elements', 'caliph'), 'show_in_rest' => true, 'default' => true, ) ); } add_action('init', 'caliph_register_theme_settings'); /** * Update settings when saved in the Site Editor */ function caliph_update_settings_from_rest($response, $handler, $request) { // Check if we're getting site settings if ($request->get_route() !== '/wp/v2/settings') { return $response; } // Get the updated values from the response $params = $request->get_params(); // Update our custom settings if they've been changed if (isset($params['caliph_scroll_top'])) { update_option('caliph_scroll_top', (bool) $params['caliph_scroll_top']); } if (isset($params['caliph_hover_effects'])) { update_option('caliph_hover_effects', (bool) $params['caliph_hover_effects']); } return $response; } add_filter('rest_request_after_callbacks', 'caliph_update_settings_from_rest', 10, 3);