Repository navigation
fix: align README.md plugin name with header (closes #124) - #202
Closed
pluginslab wants to merge 2 commits into
Closed
pluginslab wants to merge 2 commits into
pluginslab wants to merge 2 commits into
Conversation
…r rationale (closes #121, #123, #128) Three Plugin Checker items that turned out to be small / partially-done. #121 — Escape output in functions-abilities.php The previous code passed sprintf() output directly to _doing_it_wrong() with a misleading phpcs:ignore claiming "output is escaped by _doing_it_wrong()". That's not true — _doing_it_wrong forwards the message to trigger_error(), which in WP_DEBUG mode can reach an admin notice / error log without HTML escaping. The ability ID is developer-controlled in practice, but Plugin Checker (rightly) wants defense in depth here. Fix: wrap the sprintf in esc_html() and drop the misleading ignore comment. No behavior change in the common path (the format string has no HTML), but the safety contract is now explicit. #123 — sw-loader.php direct access + readfile() This file is intentionally browser-accessible — it's the URL the browser fetches when registering the Service Worker, before WordPress is loaded. ABSPATH is never defined here and WP_Filesystem is unavailable. Fix: kept the existing structure (it's correct), added a docblock explaining why no ABSPATH guard is possible, and a single phpcs:ignore on the readfile() call with rationale (single asset, hard-coded __DIR__ path, no traversal vector). #128 — db-optimize.php uncached query Already resolved by the existing phpcs:ignore on line 81 (covers WordPress.DB.DirectDatabaseQuery.DirectQuery and .NoCaching). No changes needed — closing as already-fixed. Verification: composer lint — 0 errors, 0 warnings (was 1 warning on sw-loader.php) npm test — 96 passing, unchanged Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
The plugin header in wp-agentic-admin.php declares "WP Agentic Admin" (with spaces), but README.md used "WP-Agentic-Admin" (with hyphens) in 6 places. WordPress.org's Plugin Checker flags this as a name mismatch warning. Verified the other items in the original issue body are already in place: - "Tested up to" header in readme.txt ✓ (6.9) - License + License URI ✓ (GPL-2.0-or-later + GNU URL) - Stable tag ✓ (0.10.0, matches plugin header Version: 0.10.0) - Short description length ✓ (120 chars, under the 150 limit) The trademarked-"WP" warning from #124 is a separate workstream tracked in #125 (full plugin rename). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
6 tasks
Owner
Author
|
Closing as superseded by #206. That PR takes the README rename further ("WP-Agentic-Admin" → "Agentic Admin for WordPress" instead of just "WP Agentic Admin"), and also handles the readme.txt rename and the broader function-prefix/text-domain compliance changes. Closing here to avoid merge conflicts; the file-level change in #202 is fully covered by #206. |
ivdimova
pushed a commit
that referenced
this pull request
May 12, 2026
Minimum WP.org-required rename ahead of plugin directory submission.
What WordPress.org's Plugin Checker actually rejects:
- Plugin Name containing "WP" (treats it as a WordPress lookalike)
- Function names beginning with wp_ (looks like core)
- Text Domain not matching the submission slug
What changed:
- Plugin Name header: "WP Agentic Admin" → "Agentic Admin for WordPress"
- Plugin URI: pluginslab.com/wp-agentic-admin → pluginslab.com/agentic-admin
- Text Domain header: wp-agentic-admin → agentic-admin
- readme.txt header: === Agentic Admin for WordPress ===
- README.md heading + body: same display-name updates
- i18n text-domain string in all __()/esc_html__()/etc. calls:
'wp-agentic-admin' → 'agentic-admin'
- PHP function prefix: wp_agentic_admin_* → agentic_admin_*
(touches register fns, helpers, the manifest entries that
reference function names by string, the abilities, REST callbacks)
- phpcs.xml.dist: updated text_domain + prefixes properties
accordingly. WP_AGENTIC_ADMIN_* constants and WPAgenticAdmin
namespace kept in the allowed prefix list (not WP.org-checked,
deliberately out of scope for this PR).
What stayed (out of scope, not WP.org-blocking):
- Local folder name (wp-agentic-admin/)
- PHP constants WP_AGENTIC_ADMIN_*
- PHP namespace WPAgenticAdmin
- JS global wpAgenticAdmin
- Ability ID prefix (wp-agentic-admin/*)
- REST namespace (wp-agentic-admin/v1)
- Option key prefix (wp_agentic_admin_*)
These can land in a v0.12 cosmetic-rename PR if/when we want full
consistency. Folder rename specifically should be its own deliberate
move with migration handling for any dev-install Option data.
Verification:
- Playground reload: plugin still active, shown as "Agentic Admin
for WordPress" in plugin list
- agentic_admin_resolve_enabled_abilities() returns 33 abilities,
every registrar function_exists() check passes
- composer lint: 0 errors (1 pre-existing readfile warning on
sw-loader.php, fixed by PR #201)
- npm test: 96 passing, unchanged
- npm run build: clean
Note: this PR also covers the README.md plugin-name update from
PR #202 (which renamed "WP-Agentic-Admin" → "WP Agentic Admin").
After this lands, #202 should be closed as superseded.
Net: 91 files changed, +1021 / -1015 (close to zero — mechanical renames,
no logic changes).
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
ivdimova
pushed a commit
that referenced
this pull request
May 12, 2026
* fix: rename to "Agentic Admin for WordPress" (closes #125, #124) Minimum WP.org-required rename ahead of plugin directory submission. What WordPress.org's Plugin Checker actually rejects: - Plugin Name containing "WP" (treats it as a WordPress lookalike) - Function names beginning with wp_ (looks like core) - Text Domain not matching the submission slug What changed: - Plugin Name header: "WP Agentic Admin" → "Agentic Admin for WordPress" - Plugin URI: pluginslab.com/wp-agentic-admin → pluginslab.com/agentic-admin - Text Domain header: wp-agentic-admin → agentic-admin - readme.txt header: === Agentic Admin for WordPress === - README.md heading + body: same display-name updates - i18n text-domain string in all __()/esc_html__()/etc. calls: 'wp-agentic-admin' → 'agentic-admin' - PHP function prefix: wp_agentic_admin_* → agentic_admin_* (touches register fns, helpers, the manifest entries that reference function names by string, the abilities, REST callbacks) - phpcs.xml.dist: updated text_domain + prefixes properties accordingly. WP_AGENTIC_ADMIN_* constants and WPAgenticAdmin namespace kept in the allowed prefix list (not WP.org-checked, deliberately out of scope for this PR). What stayed (out of scope, not WP.org-blocking): - Local folder name (wp-agentic-admin/) - PHP constants WP_AGENTIC_ADMIN_* - PHP namespace WPAgenticAdmin - JS global wpAgenticAdmin - Ability ID prefix (wp-agentic-admin/*) - REST namespace (wp-agentic-admin/v1) - Option key prefix (wp_agentic_admin_*) These can land in a v0.12 cosmetic-rename PR if/when we want full consistency. Folder rename specifically should be its own deliberate move with migration handling for any dev-install Option data. Verification: - Playground reload: plugin still active, shown as "Agentic Admin for WordPress" in plugin list - agentic_admin_resolve_enabled_abilities() returns 33 abilities, every registrar function_exists() check passes - composer lint: 0 errors (1 pre-existing readfile warning on sw-loader.php, fixed by PR #201) - npm test: 96 passing, unchanged - npm run build: clean Note: this PR also covers the README.md plugin-name update from PR #202 (which renamed "WP-Agentic-Admin" → "WP Agentic Admin"). After this lands, #202 should be closed as superseded. Net: 91 files changed, +1021 / -1015 (close to zero — mechanical renames, no logic changes). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix: prettier formatting after rename sed (string-length nudges) --------- Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tiny PR — fixes the only remaining sub-item in #124 (README.md plugin name mismatch). Most of the issue body was actually already addressed.
Net: +6 / -6 lines, 1 file touched.
What's fixed
WordPress.org's Plugin Checker requires the README plugin name to match the header in the main plugin file. We had:
This PR replaces all 6 occurrences in README.md with the spaced version, matching the plugin header.
What was already in place (verified before changing anything)
Of the original issue body, only the name mismatch remained:
Test plan
🤖 Generated with Claude Code