wp-plugin-development

작성자: firecrawl

WordPress 플러그인 개발 시 사용: 아키텍처 및 훅, 활성화/비활성화/제거, 관리자 UI 및 Settings API, 데이터 저장, 크론/작업, 보안…

npx skills add https://github.com/firecrawl/agent-skills --skill wp-plugin-development

WP Plugin Development

When to use

Use this skill for plugin work such as:

  • creating or refactoring plugin structure (bootstrap, includes, namespaces/classes)
  • adding hooks/actions/filters
  • activation/deactivation/uninstall behavior and migrations
  • adding settings pages / options / admin UI (Settings API)
  • security fixes (nonces, capabilities, sanitization/escaping, SQL safety)
  • packaging a release (build artifacts, readme, assets)

Inputs required

  • Repo root + target plugin(s) (path to plugin main file if known).
  • Where this plugin runs: single site vs multisite; WP.com conventions if applicable.
  • Target WordPress + PHP versions (affects available APIs and placeholder support in $wpdb->prepare()).

Procedure

0) Triage and locate plugin entrypoints

  1. Run triage:
    • node skills/wp-project-triage/scripts/detect_wp_project.mjs
  2. Detect plugin headers (deterministic scan):
    • node skills/wp-plugin-development/scripts/detect_plugins.mjs

If this is a full site repo, pick the specific plugin under wp-content/plugins/ or mu-plugins/ before changing code.

1) Follow a predictable architecture

Guidelines:

  • Keep a single bootstrap (main plugin file with header).
  • Avoid heavy side effects at file load time; load on hooks.
  • Prefer a dedicated loader/class to register hooks.
  • Keep admin-only code behind is_admin() (or admin hooks) to reduce frontend overhead.

See:

  • references/structure.md

2) Hooks and lifecycle (activation/deactivation/uninstall)

Activation hooks are fragile; follow guardrails:

  • register activation/deactivation hooks at top-level, not inside other hooks
  • flush rewrite rules only when needed and only after registering CPTs/rules
  • uninstall should be explicit and safe (uninstall.php or register_uninstall_hook)

See:

  • references/lifecycle.md

3) Settings and admin UI (Settings API)

Prefer Settings API for options:

  • register_setting(), add_settings_section(), add_settings_field()
  • sanitize via sanitize_callback

See:

  • references/settings-api.md

4) Security baseline (always)

Before shipping:

  • Validate/sanitize input early; escape output late.
  • Use nonces to prevent CSRF and capability checks for authorization.
  • Avoid directly trusting $_POST / $_GET; use wp_unslash() and specific keys.
  • Use $wpdb->prepare() for SQL; avoid building SQL with string concatenation.

See:

  • references/security.md

5) Data storage, cron, migrations (if needed)

  • Prefer options for small config; custom tables only if necessary.
  • For cron tasks, ensure idempotency and provide manual run paths (WP-CLI or admin).
  • For schema changes, write upgrade routines and store schema version.

See:

  • references/data-and-cron.md

Verification

  • Plugin activates with no fatals/notices.
  • Settings save and read correctly (capability + nonce enforced).
  • Uninstall removes intended data (and nothing else).
  • Run repo lint/tests (PHPUnit/PHPCS if present) and any JS build steps if the plugin ships assets.

Failure modes / debugging

  • Activation hook not firing:
    • hook registered incorrectly (not in main file scope), wrong main file path, or plugin is network-activated
  • Settings not saving:
    • settings not registered, wrong option group, missing capability, nonce failure
  • Security regressions:
    • nonce present but missing capability checks; or sanitized input not escaped on output

See:

  • references/debugging.md

Escalation

For canonical detail, consult the Plugin Handbook and security guidelines before inventing patterns.

firecrawl의 다른 스킬

firecrawl-research-index
firecrawl
Firecrawl Research를 사용하여 연구 질문에 답하는 논문을 찾습니다. 의미론적 검색, 의미론적 및 구조적 확장, 본문 내 검증을 활용합니다. 단일 논문 조회나 전체 다중 논문 세트 등 논문 검색/문
data-analysisresearchweb-scraping
oracle
firecrawl
oracle CLI 사용 모범 사례 (프롬프트 + 파일 번들링, 엔진, 세션 및 파일 첨부 패턴)
pinecone
firecrawl
프로덕션 AI 애플리케이션을 위한 관리형 벡터 데이터베이스입니다. 완전 관리형, 자동 확장, 하이브리드 검색(밀집 + 희소), 메타데이터 필터링, 네임스페이스를 지원합니다.
wpds
firecrawl
WordPress 디자인 시스템(WPDS)과 그 컴포넌트, 토큰, 패턴 등을 활용하여 UI를 구축할 때 사용합니다.
audiocraft-audio-generation
firecrawl
PyTorch 라이브러리로, 텍스트-음악(MusicGen) 및 텍스트-사운드(AudioGen)를 포함한 오디오 생성을 지원합니다. 텍스트로부터 음악을 생성해야 할 때 사용합니다…
skypilot-multi-cloud-orchestration
firecrawl
다중 클라우드에서 ML 워크로드를 오케스트레이션하며 자동 비용 최적화를 제공합니다. 여러 클라우드에 걸쳐 학습 또는 배치 작업을 실행해야 하거나, 활용해야 할 때 사용하세요.
firecrawl-seo-audit
firecrawl
Firecrawl을 사용하여 웹사이트의 SEO를 감사합니다. 사용자가 SEO 감사, 메타데이터 및 헤딩 검토, 사이트맵/사이트 구조 분석, 키워드 기회, 경쟁사 SERP 비교, 또는 우선순위가 지정된 검색 최적화 추천을 요청할 때 사용하세요.
data-analysisresearchweb-scraping
gh-issues
firecrawl
GitHub 이슈를 가져오고, 수정을 구현할 하위 에이전트를 생성한 후 PR을 열고, PR 리뷰 코멘트를 모니터링하고 대응합니다. 사용법: /gh-issues [소유자/저장소] [--레이블…]