Individual skill
wordpress-plugin-core
Build secure WordPress plugins with hooks, database interactions, Settings API, custom post types, and REST API. Covers Simple, OOP, and PSR-4 architecture patterns plus the Security Trinity. Includes WordPress 6.7-6.9 breaking changes. Use when creating plugins or troubleshooting SQL injection, XSS, CSRF, REST API vulnerabilities, wpdb::prepare errors, nonce edge cases, or WordPress 6.8+ bcrypt migration.
wordpress-plugin-core/SKILL.md
Source commit c68b078bdf270d81272face3b8bebcd707bb3ecc
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 11, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 11
- Repository last updated
- Feb 15, 2026
- License
- MIT
Observed agent integration: claude-code
- agent-skill Repository topic
- agent-skills Repository topic
- claude Repository topic
- codex Repository topic
- skills Repository topic
- data Derived category
- security Derived category
- data-databases Derived category
- security-application Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.claude-plugin/plugin.jsonasset · 667 bytesREADME.mddoc · 10,993 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesSKILL.mdcore · 37,950 bytesassets/example-template.txtdoc · 416 bytesexamples/github-updater.phpruns · 15,649 bytesreferences/common-hooks.mddoc · 2,815 bytesreferences/example-reference.mddoc · 760 bytesreferences/github-auto-updates.mddoc · 31,045 bytesreferences/security-checklist.mddoc · 11,991 bytesscripts/example-script.shruns · 302 bytesscripts/scaffold-plugin.shruns · 4,962 bytestemplates/examples/ajax-handler.phpruns · 8,242 bytestemplates/examples/custom-post-type.phpruns · 9,679 bytestemplates/examples/meta-box.phpruns · 6,423 bytestemplates/examples/rest-endpoint.phpruns · 8,892 bytestemplates/examples/settings-page.phpruns · 8,098 bytestemplates/plugin-oop/README.mddoc · 7,589 bytestemplates/plugin-oop/my-oop-plugin.phpruns · 12,848 bytestemplates/plugin-oop/uninstall.phpruns · 929 bytestemplates/plugin-oop/views/admin-settings.phpruns · 2,101 bytestemplates/plugin-psr4/README.mddoc · 9,957 bytestemplates/plugin-psr4/composer.jsonasset · 706 bytestemplates/plugin-psr4/my-psr4-plugin.phpruns · 1,734 bytestemplates/plugin-psr4/src/API/BookEndpoints.phpruns · 5,381 bytestemplates/plugin-psr4/src/Admin/Settings.phpruns · 5,193 bytestemplates/plugin-psr4/src/Frontend/Assets.phpruns · 2,078 bytestemplates/plugin-psr4/src/Plugin.phpruns · 2,410 bytestemplates/plugin-psr4/src/PostTypes/Book.phpruns · 4,993 bytestemplates/plugin-psr4/src/Taxonomies/Genre.phpruns · 1,924 bytestemplates/plugin-psr4/uninstall.phpruns · 929 bytestemplates/plugin-simple/README.mddoc · 4,742 bytestemplates/plugin-simple/my-simple-plugin.phpruns · 7,550 bytestemplates/plugin-simple/uninstall.phpruns · 1,334 bytes
Read excerpt
# WordPress Plugin Development (Core)
**Last Updated**: 2026-01-21
**Latest Versions**: WordPress 6.9+ (Dec 2, 2025), PHP 8.0+ recommended, PHP 8.5 compatible
**Dependencies**: None (WordPress 5.9+, PHP 7.4+ minimum)
---
## Quick Start
**Architecture Patterns**: Simple (functions only, <5 functions) | OOP (medium plugins) | PSR-4 (modern/large, recommended 2025+)
**Plugin Header** (only Plugin Name required):
```php