namespace WPForms\Integrations\AI\Admin;
use WPForms\Integrations\AI\Helpers;
private function hooks() {
add_filter( 'wpforms_settings_defaults', [ $this, 'register_settings' ] );
* Add toggle to the Settings > Misc admin page.
* @param array|mixed $settings WPForms settings.
public function register_settings( $settings ): array {
$settings = (array) $settings;
'id' => Helpers::DISABLE_KEY,
'name' => esc_html__( 'Hide AI Features', 'wpforms-lite' ),
'desc' => esc_html__( 'Hide everything related to AI in WPForms.', 'wpforms-lite' ),
'value' => Helpers::is_disabled(),
'disabled' => Helpers::is_disabled_by_rule(),
if ( $ai_settings['disabled'] ) {
$ai_settings['disabled_desc'] = wp_kses(
__( '<strong>AI features were hidden by filter or constant.</strong>', 'wpforms-lite' ), // phpcs:ignore WordPress.WP.I18n.NoHtmlWrappedStrings
// Add after the "Hide Admin Bar Menu" toggle.
$settings['misc'] = wpforms_array_insert( $settings['misc'], [ Helpers::DISABLE_KEY => $ai_settings ], 'hide-admin-bar' );