v0.24.0
- Renamed the plugin from "Smart Tags Optimizer" to "Termcraft - Taxonomy Manager" in response to the WordPress.org directory review, which flagged the old name as too generic and too close to an existing "Smart Tags" term. Changed the display name (
termcraft.phpheader,readme.txttitle), the slug/text domain (smart-tags-optimizer→termcraft, ~200__()/_e()calls acrossincludes/), and renamed the main fileai-tags-optimizer.php→termcraft.php(plus therelease.yml/deploy.ymlpath trigger, version grep, andSLUG). The internalwpto_/WPTO_code prefix and thewpto-*admin-page slugs are unchanged. - Replaced the direct Anthropic Claude HTTP integration in
includes/class-wpto-api-client.phpwith WordPress core's AI Client (wp_ai_client_prompt()fluent builder:using_system_instruction(),using_max_tokens(),using_temperature(),using_model_preference(),is_supported_for_text_generation(),generate_text()). The plugin no longer performswp_remote_post()toapi.anthropic.com, stores no API key, and works with whatever provider the site owner configures in core.analyze_batch()now returns awpto_no_ai_client/wpto_no_ai_providerWP_Errorwhen unavailable;WPTO_Queue::ajax_start_analysis()checksprovider_available()upfront. - Bumped
Requires at leastto 7.0 (the AI Client ships in WordPress 7.0). class-wpto-settings.php: removed thewpto_api_keysetting, field, andget_api_key();wpto_modelis now an optional comma-separated model-preference list read viaget_model_preference()(returnsstring[]); the "Test API key" button/AJAX (wpto_test_api_key) became "Check AI provider" (wpto_check_ai_provider→ajax_check_provider()).assets/admin.jshandler and thewptoData.i18nkeys updated to match (enterApiKey/testingApiKey→checkingProvider).class-wpto-activator.php:DB_VERSION2 → 3;activate()no longer seedswpto_api_key;maybe_upgrade()deletes the stalewpto_api_keyoption.- Moved the admin-notice URL-cleanup from an inline
<script>block inWPTO_Admin_Page::strip_notice_query_args()(removed) to the enqueuedassets/admin.js, fed by a newNOTICE_QUERY_ARGSclass constant passed throughwptoData.noticeArgs. Resolves the Plugin Check "usewp_enqueue" finding.
For the full version history, see CHANGELOG.md.