wp-plugin-development

Builds production-ready WordPress plugins using modern OOP PHP with tiered architecture.

Updated Mar 28, 2026
One-click install
npx skills add https://github.com/thedutchvisiongroup/agent-skills --skill wp-plugin-development-thedutchvisiongroup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wp-plugin-development
Source: https://github.com/thedutchvisiongroup/agent-skills/tree/main/skills/wp-plugin-development
Command: npx skills add https://github.com/thedutchvisiongroup/agent-skills --skill wp-plugin-development-thedutchvisiongroup

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building WordPress plugins that are secure, performant, and maintainable requires deep knowledge of WordPress APIs, security practices, and architecture patterns. This Skill guides the creation, extension, review, and debugging of WordPress plugins using modern OOP PHP, enforcing consistent architecture and security standards. ## Core Features & Use Cases - Two Architecture Tiers: Choose between Standard (OOP with Hooks Loader, PSR-4 autoloading) or Enterprise (Service Container, Dependency Injection, modular architecture) based on plugin scope. - Security & Performance Enforcement: Mandatory nonces, sanitization, escaping, capability checks, prepared statements, transients, and Action Scheduler for background tasks instead of WP-Cron. - Comprehensive References: Detailed guidance for architecture, security, performance, WP-CLI, WordPress APIs, database migrations, and testing with PHPUnit/WP_Mock. - Use Case: Ask the assistant to scaffold a new plugin with a custom post type, REST endpoints, and an admin settings page — it will produce the full directory structure, composer.json, namespaced classes, security measures, and test cases. ## Quick Start Ask the assistant to create a WordPress plugin for managing event registrations with a custom database table, REST API endpoints, and a WP-CLI import command.

Frequently Asked Questions about wp-plugin-development

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a WordPress plugin with OOP PHP?

Use a PSR-4 autoloaded structure with Composer, a main plugin file with the plugin header, and a Plugin orchestrator class that registers hooks through a Loader class. Choose the Standard tier for focused feature sets or the Enterprise tier for multi-module plugins requiring a Service Container.

Should I use WP-Cron or Action Scheduler for scheduled tasks?

Always use Action Scheduler instead of WP-Cron for scheduled, recurring, and background tasks in WordPress plugins. Action Scheduler provides logging, failure handling, concurrency protection, and an admin UI, while WP-Cron is unreliable and silently fails.

How do I create custom database tables in a WordPress plugin?

Use the dbDelta function with strict SQL formatting: two spaces before PRIMARY KEY, KEY instead of INDEX, and $wpdb->get_charset_collate(). Track schema versions with an option and run migrations via a Migrator class on plugins_loaded.

When should I not use this WordPress plugin development approach?

Do not use it for Gutenberg block development with React/JSX, theme development, WordPress core contributions, or generic PHP unrelated to WordPress. It is scoped specifically to plugin creation, extension, review, and debugging.

How do I secure WordPress plugin forms and AJAX handlers?

Add nonce fields to every form and verify them with wp_verify_nonce or check_ajax_referer, check current_user_can before privileged actions, sanitize all input, escape all output, and use $wpdb->prepare for dynamic queries.

What is the difference between Standard and Enterprise plugin architecture?

Standard uses a Hooks Loader with direct instantiation for focused single-feature plugins. Enterprise adds a Service Container, dependency injection, and module-based Service Providers for large plugins with multiple independent feature modules. The two tiers must never be mixed.