Skip to main content

Module 6 Progress

0 of X lessons completed
0%

Module Overview

This module focuses on WordPress plugin development, teaching you how to extend WordPress functionality through custom plugins. You'll learn plugin architecture, WordPress APIs, and best practices for creating maintainable, secure plugins. By the end of this module, you'll be able to build custom plugins that add new features to WordPress sites.

Duration: 2 weeks (10 sessions of 3 hours each)

Prerequisites: Modules 1-5, especially strong PHP knowledge and WordPress fundamentals

Week 1: Plugin Fundamentals

Session 1: Plugin Development Introduction

  • WordPress plugin architecture overview
  • Types of WordPress plugins
  • Plugin requirements and standards
  • Creating a basic plugin structure
    • Required files and headers
    • Plugin metadata
    • Activation and deactivation hooks
  • Plugin file organization
  • Homework: Create a basic WordPress plugin with proper structure

Session 2: WordPress Hooks System in Depth

  • Action hooks vs. Filter hooks
  • Understanding hook priorities
  • Common WordPress hooks
    • init, admin_init
    • wp_enqueue_scripts, admin_enqueue_scripts
    • the_content, the_title
    • save_post, pre_get_posts
  • Creating custom hooks
  • Removing hooks
  • Homework: Build a plugin using multiple WordPress hooks

Session 3: Adding Admin Pages and Settings

  • WordPress admin menu structure
  • Creating admin pages and subpages
  • WordPress Settings API
  • Creating plugin options pages
  • Validating and sanitizing user input
  • Storing plugin settings in the database
  • Homework: Create a plugin with an admin interface and settings

Session 4: WordPress Database Interaction

  • WordPress database structure review
  • Using $wpdb to interact with the database
  • Creating custom tables
  • Database operations (CRUD)
  • Database security best practices
  • Plugin data migration and upgrades
  • Homework: Create a plugin that interacts with the WordPress database

Session 5: Shortcodes and Widgets

  • Creating custom shortcodes
  • Shortcode attributes and default values
  • Nested shortcodes
  • Building custom WordPress widgets
  • Widget settings and forms
  • Updating widget output
  • Homework: Create a plugin with both shortcodes and widgets

Week 2: Advanced Plugin Development

Session 6: Custom Post Types and Taxonomies in Plugins

  • Registering custom post types in plugins
  • Adding custom fields to post types
  • Custom meta boxes
  • Saving custom meta data
  • Creating custom taxonomies
  • Working with term meta
  • Homework: Build a plugin with custom post types, fields, and taxonomies

Session 7: AJAX in WordPress Plugins

  • AJAX in WordPress overview
  • Setting up AJAX handlers
  • Admin and front-end AJAX
  • AJAX security with nonces
  • Error handling in AJAX requests
  • Loading scripts for AJAX
  • Homework: Create a plugin with AJAX functionality

Session 8: WordPress REST API

  • Introduction to the WordPress REST API
  • Understanding endpoints and routes
  • Using the REST API in plugins
  • Creating custom endpoints
  • Authentication and permissions
  • Extending existing endpoints
  • Homework: Build a plugin that interacts with the WordPress REST API

Session 9: Plugin Security and Performance

  • WordPress security principles
  • Input validation and sanitization
  • Capability checks and user permissions
  • Data encryption
  • Preventing common security issues (XSS, CSRF, SQL Injection)
  • Plugin performance optimization
  • Caching strategies for plugins
  • Homework: Security audit and optimization of a plugin

Session 10: Plugin Distribution and Maintenance

  • Plugin development workflow
  • Version control for plugins
  • Plugin testing strategies
  • Documentation best practices
  • Internationalization and localization
  • Preparing plugins for distribution
  • WordPress.org plugin repository guidelines
  • Plugin maintenance and updates
  • Final Project: Complete a fully functional WordPress plugin

Learning Resources

Required Materials

  • Local WordPress development environment
  • GitHub account for version control
  • Text editor (VS Code recommended)
  • Debugging tools (Query Monitor plugin recommended)

Recommended Reading

  • Professional WordPress Plugin Development by Brad Williams, Justin Tadlock, and John James Jacoby
  • Building Web Apps with WordPress by Brian Messenlehner and Jason Coleman
  • Online resources: WordPress Plugin Handbook, WordPress Codex