{"id":374437,"date":"2026-09-24T08:33:18","date_gmt":"2026-09-24T08:33:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-settings\/"},"modified":"2026-09-24T08:32:56","modified_gmt":"2026-09-24T08:32:56","slug":"bestonys-ai-settings","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bestonys-ai-settings\/","author":14788414,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.0","stable_tag":"0.2.0","tested":"7.1.2","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"Bestony's AI Settings","header_author":"Bestony","header_description":"Edit every configuration option of the WordPress AI plugin from a single screen.","assets_banners_color":"","last_updated":"2026-09-24 08:32:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/bestony\/AI-Settings","header_author_uri":"https:\/\/github.com\/bestony","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"bestony","date":"2026-09-24 08:32:56","revision":3710853}},"upgrade_notice":{"0.2.0":"<p>Renames the plugin, folder, slug and text domain to <code>bestonys-ai-settings<\/code>, and drops the bundled\ntranslations in favour of translate.wordpress.org. Replace the folder with the new zip and\nreactivate; the AI plugin&#039;s options and your API keys are untouched.<\/p>","0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The configuration, split into tabs by feature group."}},"plugin_section":[],"plugin_tags":[2353,25308,19319,1253],"plugin_category":[],"plugin_contributors":[145631],"plugin_business_model":[],"class_list":["post-374437","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-connector","plugin_tags-experiments","plugin_tags-settings","plugin_contributors-bestony","plugin_committers-bestony"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/bestonys-ai-settings.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin edits the settings of the <a href=\"https:\/\/cn.wordpress.org\/plugins\/ai\/\">AI plugin<\/a>, which has\nto be installed and active \u2014 WordPress will not activate Bestony's AI Settings without it.<\/p>\n\n<p>The WordPress AI plugin spreads its settings across one switch per feature, a provider and model\noverride per feature, and a handful of feature-specific options. This plugin puts all of them on a\nsingle screen, so you can see and change the whole configuration in one place.<\/p>\n\n<p><strong>Settings \u2192 Bestony's AI Settings<\/strong> splits the whole configuration into tabs, one per group, plus a\n<strong>General<\/strong> tab (the master switch and the bulk switches), a <strong>Models<\/strong> tab and an\n<strong>Import and export<\/strong> tab. Features are grouped by where they take effect:<\/p>\n\n<ul>\n<li><strong>Content generation<\/strong> \u2014 title, excerpt, summary, resize and translation.<\/li>\n<li><strong>Editing assistance<\/strong> \u2014 type-ahead, editorial notes, and applying those notes.<\/li>\n<li><strong>SEO and taxonomy<\/strong> \u2014 meta description, slug, and tag and category suggestions.<\/li>\n<li><strong>Media<\/strong> \u2014 alt text, image generation and editing.<\/li>\n<li><strong>Comments<\/strong> \u2014 moderation and reply suggestions.<\/li>\n<li><strong>Site administration<\/strong> \u2014 abilities, request logging, connector approval and key encryption.<\/li>\n<\/ul>\n\n<p>Under each tab sits the feature's own on\/off switch plus the options that feature adds \u2014 the\ntaxonomy strategy and suggestion limit for Content Classification, guest moderation for Comment\nModeration, or type-ahead's mode, delay, confidence, word limit and heading support. That last group\nis read by the AI plugin but never registered with WordPress, so no other screen can change it.<\/p>\n\n<p>The list is discovered at runtime by reading the settings the AI plugin registers, so features added\nby a future AI plugin release appear on their own \u2014 filed under <strong>Other<\/strong> until Bestony's AI Settings\nknows where they belong.<\/p>\n\n<h3>What this screen tells you that the AI plugin's own screen does not<\/h3>\n\n<p>A feature only runs when the master switch and its own switch are both on. Each feature's header\nshows whether it is currently running, and a switch saved as on while the feature is not running is\ncalled out with the reason \u2014 usually the master switch. A switch saved as off that is nonetheless\nrunning is called out too, because code on the site is forcing it on.<\/p>\n\n<h3>Models<\/h3>\n\n<p>The <strong>Models<\/strong> tab sets the per-feature provider and model override, two ways:<\/p>\n\n<ul>\n<li><strong>Apply to all<\/strong> pushes one provider and one model onto every feature at once, optionally limited\nto the features that are running. Set the provider to \"Keep unchanged\", or leave the model empty,\nto change only the other half.<\/li>\n<li>The table below it edits each feature's override individually and saves them together.<\/li>\n<\/ul>\n\n<p>The model is a dropdown of the models the chosen provider offers, and it follows the provider you\npick; with no provider set, the models are grouped by provider. Pick <strong>Custom\u2026<\/strong> to type a model the\nlist does not know. Without JavaScript the field is a plain text input, which is also what you get\nfor a feature that uses no model.<\/p>\n\n<p>Leaving every override empty is the usual choice \u2014 the AI plugin then picks a model using its own\npreference order.<\/p>\n\n<h3>Bulk changes and moving settings between sites<\/h3>\n\n<ul>\n<li><strong>Enable everything<\/strong> \/ <strong>Disable everything<\/strong>, on the <strong>General<\/strong> tab, flip every switch,\nincluding the master one.<\/li>\n<li><strong>Export settings<\/strong> downloads the same JSON the AI plugin's own export produces.<\/li>\n<li><strong>Import settings<\/strong> accepts that JSON. Both buttons live on the <strong>Import and export<\/strong> tab. Only\noptions the AI plugin registers are written, and a\nvalue that fails the option's schema is rejected and reported rather than stored.<\/li>\n<\/ul>\n\n<p>Because both directions use the AI plugin's own endpoints, the files are interchangeable with the\nAI plugin's export\/import, and API keys are excluded in both \u2014 as they are by the AI plugin itself.<\/p>\n\n<h3>What this plugin does not do<\/h3>\n\n<p>API keys stay on <strong>Settings \u2192 Connectors<\/strong>. This plugin neither reads nor writes them.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/bestonys-ai-settings\/<\/code>.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to Settings \u2192 Bestony's AI Settings.<\/li>\n<\/ol>\n\n<p>The WordPress AI plugin must be active; without it this screen reports that no options were found.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20the%20ai%20plugin%27s%20own%20settings%20screen%3F\"><h3>Does this replace the AI plugin's own settings screen?<\/h3><\/dt>\n<dd><p>No. Both edit the same options, and either screen shows the changes made in the other.<\/p><\/dd>\n<dt id=\"why%20does%20it%20say%20a%20feature%20is%20saved%20as%20on%20but%20not%20running%3F\"><h3>Why does it say a feature is saved as on but not running?<\/h3><\/dt>\n<dd><p>A feature runs only when the AI plugin's master switch and that feature's own switch are both on.\nTurn the master switch on at the top of the screen.<\/p><\/dd>\n<dt id=\"why%20is%20an%20option%20not%20on%20the%20ai%20plugin%27s%20own%20screen%3F\"><h3>Why is an option not on the AI plugin's own screen?<\/h3><\/dt>\n<dd><p>Some features read options they never register with WordPress \u2014 Type-ahead Text's settings are the\ncurrent example. They are real and take effect, but the AI plugin's screen does not know about them.<\/p><\/dd>\n<dt id=\"are%20api%20keys%20included%20in%20an%20export%3F\"><h3>Are API keys included in an export?<\/h3><\/dt>\n<dd><p>No. The AI plugin's export endpoint deliberately omits any option whose name looks sensitive, and\nthis plugin uses that endpoint unchanged.<\/p><\/dd>\n<dt id=\"which%20wordpress%20and%20php%20versions%20are%20required%3F\"><h3>Which WordPress and PHP versions are required?<\/h3><\/dt>\n<dd><p>WordPress 7.0 or later \u2014 the Connectors API and the AI plugin both need it \u2014 and PHP 7.4 or later.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to <strong>Bestony's AI Settings<\/strong>: the plugin slug, folder and text domain are now\n  bestonys-ai-settings. Replace the plugin folder with the new zip and reactivate.<\/li>\n<li>Removed the bundled translation files (<code>.po<\/code>, <code>.mo<\/code> and <code>.pot<\/code>) and the <code>load_plugin_textdomain()<\/code>\ncall. Translations are served by translate.wordpress.org.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>One screen, split into tabs, listing the AI plugin's master switch, every feature switch, every\nprovider and model override, and the options individual features add.<\/li>\n<li>Enable everything \/ Disable everything.<\/li>\n<li>Export and import the AI plugin's settings JSON.<\/li>\n<li>Per-feature running state, with a note when a saved switch is not in effect.<\/li>\n<\/ul>","raw_excerpt":"Edit every configuration option of the WordPress AI plugin from one screen.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/374437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=374437"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bestony"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=374437"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=374437"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=374437"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=374437"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=374437"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=374437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}