{"id":295829,"date":"2026-04-08T21:22:00","date_gmt":"2026-04-08T21:22:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/?p=295829"},"modified":"2026-04-21T12:00:09","modified_gmt":"2026-04-21T12:00:09","slug":"turn-off-ai-features","status":"publish","type":"plugin","link":"https:\/\/kin.wordpress.org\/plugins\/turn-off-ai-features\/","author":15295430,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.0.7","stable_tag":"0.0.7","tested":"7.0","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"Turn Off AI Features","header_author":"raftaar1191","header_description":"Adds an option to the General Settings page to turn off AI features in WordPress.","assets_banners_color":"2f466e","last_updated":"2026-04-21 12:00:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":199,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.0.4":{"tag":"0.0.4","author":"raftaar1191","date":"2026-04-08 21:27:05"},"0.0.5":{"tag":"0.0.5","author":"raftaar1191","date":"2026-04-08 21:49:39"},"0.0.6":{"tag":"0.0.6","author":"raftaar1191","date":"2026-04-21 11:49:15"},"0.0.7":{"tag":"0.0.7","author":"raftaar1191","date":"2026-04-21 12:00:09"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3511760,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3511760,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3511760,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.jpeg":{"filename":"banner-1544x500.jpeg","revision":3511760,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpeg":{"filename":"banner-772x250.jpeg","revision":3511760,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.0.4","0.0.5","0.0.6","0.0.7"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,259766,138512,259765],"plugin_category":[],"plugin_contributors":[140910],"plugin_business_model":[],"class_list":["post-295829","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-disable-ai","plugin_tags-turn-off","plugin_tags-wp-supports-ai","plugin_contributors-raftaar1191","plugin_committers-raftaar1191"],"banners":{"banner":"https:\/\/ps.w.org\/turn-off-ai-features\/assets\/banner-772x250.jpeg?rev=3511760","banner_2x":"https:\/\/ps.w.org\/turn-off-ai-features\/assets\/banner-1544x500.jpeg?rev=3511760","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/turn-off-ai-features\/assets\/icon.svg?rev=3511760","icon":"https:\/\/ps.w.org\/turn-off-ai-features\/assets\/icon.svg?rev=3511760","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Turn Off AI Features lets you control AI functionality in WordPress without touching code. It hooks into the wp_supports_ai filter at priority 1000 and returns false when the option is enabled.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Toggle AI on or off from Settings &gt; General \u2014 no deactivation needed.<\/li>\n<li>WP-CLI support: wp ai disable \/ wp ai enable \/ wp ai status.<\/li>\n<li>Settings link on the Plugins page for quick access.<\/li>\n<li>Runs at priority 1000, overriding other plugins that may enable AI.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the turn-off-ai-features folder to \/wp-content\/plugins\/.<\/li>\n<li>Activate the plugin through the Plugins menu in WordPress.<\/li>\n<li>Go to Settings &gt; General and check \"Turn off AI features on this site\".<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20turn%20off%20ai%20features%3F\"><h3>How do I turn off AI features?<\/h3><\/dt>\n<dd><p>After activating the plugin, go to Settings &gt; General and check the\n\"Turn off AI features on this site\" checkbox, then click Save Changes.\nYou can also use the Settings link on the Plugins page to get there directly.<\/p><\/dd>\n<dt id=\"how%20do%20i%20turn%20on%20ai%20features%20again%3F\"><h3>How do I turn on AI features again?<\/h3><\/dt>\n<dd><p>Uncheck the \"Turn off AI features on this site\" checkbox on the Settings &gt; General\npage and save. You do not need to deactivate or delete the plugin.<\/p><\/dd>\n<dt id=\"can%20i%20toggle%20ai%20from%20the%20command%20line%3F\"><h3>Can I toggle AI from the command line?<\/h3><\/dt>\n<dd><p>Yes. The plugin registers three WP-CLI commands:<\/p>\n\n<p>wp toaif disable   \u2014 Turns off AI features site-wide.\n  wp toaif enable    \u2014 Turns on AI features site-wide.\n  wp toaif status    \u2014 Shows the current AI on\/off state.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20the%20wp_ai_support%20constant%3F\"><h3>Does this affect the WP_AI_SUPPORT constant?<\/h3><\/dt>\n<dd><p>No. This plugin hooks into the wp_supports_ai filter at priority 1000, which runs\nafter the constant is evaluated, and forces the return value to false regardless\nof the constant.<\/p><\/dd>\n<dt id=\"why%20use%20this%20plugin%20if%20ai%20is%20already%20off%20by%20default%20without%20a%20connector%3F\"><h3>Why use this plugin if AI is already off by default without a connector?<\/h3><\/dt>\n<dd><p>You're right that AI is \"off\" by default without a connector configured. However,\nWordPress 7.0 introduced wp_supports_ai() \u2014 a global kill switch that goes beyond\njust not configuring connectors.<\/p>\n\n<p>Here's why it matters:<\/p>\n\n<p>wp_supports_ai() provides:\n* WP_SUPPORTS_AI constant in wp-config.php for server-level control\n* A filter hook for programmatic control at any point in the stack\n* A guarantee that works independently of connector configuration<\/p>\n\n<p>Real-world use case: An agency managing 50 client sites needs one control point to\nensure AI is architecturally disabled. If a plugin updates and tries to call\nwp_ai_client_prompt(), the function returns false immediately \u2014 no matter what.<\/p>\n\n<p>The difference is between hoping AI stays off vs. guaranteeing it stays off.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20ai%20without%20using%20this%20plugin%3F\"><h3>Can I disable AI without using this plugin?<\/h3><\/dt>\n<dd><p>Yes. WordPress 7.0 provides two built-in mechanisms you can use directly:<\/p>\n\n<ol>\n<li><p>WP_SUPPORTS_AI constant in wp-config.php:<\/p>\n\n<p>define( 'WP_SUPPORTS_AI', false );<\/p>\n\n<p>Add this line to your wp-config.php file to disable AI at the server level,\nbefore any plugin or theme code runs.<\/p><\/li>\n<li><p>The wp_supports_ai filter hook:<\/p>\n\n<p>add_filter( 'wp_supports_ai', '__return_false' );<\/p>\n\n<p>Add this to your theme's functions.php or a custom plugin for programmatic\ncontrol.<\/p><\/li>\n<\/ol>\n\n<p>This plugin simply provides a UI toggle in Settings &gt; General and WP-CLI commands\nso you don't need to touch code or wp-config.php directly.<\/p><\/dd>\n<dt id=\"what%20exactly%20is%20wp_supports_ai%28%29%3F\"><h3>What exactly is wp_supports_ai()?<\/h3><\/dt>\n<dd><p>wp_supports_ai() is a core WordPress function introduced in WordPress 7.0. It acts\nas the central gatekeeper for all AI functionality. Any plugin or theme that wants\nto use AI \u2014 such as wp_ai_client_prompt() \u2014 must first check this function.<\/p>\n\n<p>If it returns false, AI calls are skipped entirely. This plugin hooks into the\nwp_supports_ai filter at priority 1000 to force it to return false when disabled.<\/p><\/dd>\n<dt id=\"will%20this%20plugin%20break%20anything%20on%20my%20site%3F\"><h3>Will this plugin break anything on my site?<\/h3><\/dt>\n<dd><p>No. Disabling AI features only prevents AI-powered functionality from running. All\nother plugin and theme features \u2014 content editing, publishing, widgets, menus, etc.\n\u2014 are completely unaffected. Only features that explicitly rely on wp_supports_ai()\nor wp_ai_client_prompt() will be turned off.<\/p><\/dd>\n<dt id=\"what%20if%20another%20plugin%20also%20hooks%20into%20wp_supports_ai%3F\"><h3>What if another plugin also hooks into wp_supports_ai?<\/h3><\/dt>\n<dd><p>This plugin runs at priority 1000, which is very high. Most plugins hook in at the\ndefault priority of 10. This means if another plugin tries to force AI on, this\nplugin will override it. If you need an even higher priority, use the\nWP_SUPPORTS_AI constant in wp-config.php \u2014 it runs before any plugin code.<\/p><\/dd>\n<dt id=\"does%20this%20work%20on%20wordpress%20multisite%3F\"><h3>Does this work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>The plugin controls AI on a per-site basis. Each site in a network manages its own\nsetting via Settings &gt; General. If you need to disable AI across all sites in a\nnetwork at once, use the WP_SUPPORTS_AI constant in wp-config.php, which applies\nnetwork-wide.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>AI features will return to their previous state \u2014 enabled if a connector is\nconfigured, disabled if not. The plugin's database option is preserved on\ndeactivation (only removed on uninstall), so re-activating will restore your\nprevious setting.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20have%20any%20performance%20impact%3F\"><h3>Does this plugin have any performance impact?<\/h3><\/dt>\n<dd><p>Negligible. It adds a single lightweight filter callback. When AI is disabled, it\nactually improves performance by short-circuiting AI calls before they execute any\nnetwork requests or processing.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20compatible%20with%20wordpress.com%20or%20managed%20hosting%3F\"><h3>Is this plugin compatible with WordPress.com or managed hosting?<\/h3><\/dt>\n<dd><p>Yes, the settings UI and WP-CLI commands work on any standard WordPress install.\nHowever, on some managed platforms, wp-config.php may not be directly editable \u2014\nin that case, use this plugin's toggle instead of the WP_SUPPORTS_AI constant.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20keep%20the%20plugin%20active%20to%20keep%20ai%20turned%20off%3F\"><h3>Do I need to keep the plugin active to keep AI turned off?<\/h3><\/dt>\n<dd><p>Yes, if you're relying on the plugin's UI toggle. The filter only runs while the\nplugin is active. If you want a persistent, plugin-independent solution, add\ndefine( 'WP_SUPPORTS_AI', false ); to your wp-config.php instead.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20useful%20for%20gdpr%20or%20data%20privacy%20compliance%3F\"><h3>Is this plugin useful for GDPR or data privacy compliance?<\/h3><\/dt>\n<dd><p>Yes. Disabling AI at the infrastructure level ensures that no user data is sent to\nAI connectors or third-party AI providers. For compliance-sensitive environments,\ncombining this plugin with the WP_SUPPORTS_AI constant gives you an auditable,\ntwo-layer guarantee that AI processing is off.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.0.7<\/h4>\n\n<ul>\n<li>Added WordPress.org plugin banner (772x250) and retina banner (1544x500)<\/li>\n<li>Added plugin icons (128x128 and 256x256) featuring WordPress W + AI + red OFF toggle<\/li>\n<\/ul>\n\n<h4>0.0.6<\/h4>\n\n<ul>\n<li>Expanded FAQ section with detailed answers about wp_supports_ai(), multisite,\nGDPR\/compliance, performance, managed hosting, and native disable alternatives<\/li>\n<\/ul>\n\n<h4>0.0.5<\/h4>\n\n<ul>\n<li>Added WP-CLI command support for AI feature management<\/li>\n<li>Commands: wp toaif disable, wp toaif enable, wp toaif status<\/li>\n<\/ul>\n\n<h4>0.0.4<\/h4>\n\n<ul>\n<li>Fixed GitHub Actions workflow configuration<\/li>\n<li>Resolved WordPress.org SVN deployment integration<\/li>\n<li>Stable tag properly configured<\/li>\n<\/ul>\n\n<h4>0.0.1<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Added option to toggle AI features from Settings &gt; General<\/li>\n<li>Integrated with wp_supports_ai filter at priority 1000<\/li>\n<li>Added plugin action links for Settings page access<\/li>\n<\/ul>","raw_excerpt":"Adds an option to the General Settings page to turn off AI features in WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/295829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=295829"}],"author":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/raftaar1191"}],"wp:attachment":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=295829"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=295829"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=295829"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=295829"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=295829"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=295829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}