Wordpress Pro
Streamline and automate WordPress Pro workflows with powerful integrations
WordPress Pro is a community skill for building and customizing WordPress websites, covering theme development, plugin creation, REST API integration, block editor customization, and performance optimization for WordPress projects.
What Is This?
Overview
WordPress Pro provides patterns for developing custom WordPress themes and plugins. It covers theme development with template hierarchy, custom post types, and taxonomy registration, block editor (Gutenberg) customization with custom blocks and block patterns, REST API endpoint creation for headless WordPress frontends, plugin architecture with hooks, filters, and settings pages, and performance optimization through caching, lazy loading, and database query reduction. The skill enables developers to build WordPress sites that go beyond basic theme configuration into custom functionality and modern development practices.
Who Should Use This
This skill serves WordPress developers building custom themes and plugins for client projects, agencies creating reusable block patterns and site templates, and engineers using WordPress as a headless CMS with a decoupled frontend.
Why Use It?
Problems It Solves
Extending WordPress beyond default functionality requires understanding the hook and filter system for customization. Building custom Gutenberg blocks needs JSX compilation and block registration APIs. Creating REST API endpoints for headless setups involves proper authentication and permission callbacks. Optimizing WordPress performance requires identifying and reducing database queries on high-traffic pages.
Core Highlights
Theme builder generates template files following the WordPress template hierarchy. Block creator scaffolds custom Gutenberg blocks with edit and save components. API builder registers custom REST endpoints with schema validation. Performance analyzer identifies slow queries and caching opportunities.
How to Use It?
Basic Usage
// functions.php - Custom post type
add_action('init',
'register_portfolio');
function register_portfolio() {
register_post_type('portfolio', [
'labels' => [
'name' => 'Portfolio',
'singular_name' => 'Project',
],
'public' => true,
'has_archive' => true,
'show_in_rest' => true,
'supports' => [
'title', 'editor',
'thumbnail', 'excerpt',
],
'menu_icon' =>
'dashicons-portfolio',
]);
register_taxonomy(
'project_type', 'portfolio', [
'labels' => [
'name' => 'Project Types',
],
'hierarchical' => true,
'show_in_rest' => true,
]);
}
// Custom REST endpoint
add_action('rest_api_init',
'register_portfolio_api');
function register_portfolio_api() {
register_rest_route(
'custom/v1', '/projects',
[
'methods' => 'GET',
'callback' =>
'get_portfolio_items',
'permission_callback' =>
'__return_true',
]);
}
function get_portfolio_items($request) {
$posts = get_posts([
'post_type' => 'portfolio',
'numberposts' => 10,
]);
return array_map(
fn($p) => [
'id' => $p->ID,
'title' => $p->post_title,
'excerpt' => $p->post_excerpt,
], $posts);
}Real-World Examples
// block.js - Custom Gutenberg block
import { registerBlockType } from
'@wordpress/blocks';
import { useBlockProps, RichText }
from '@wordpress/block-editor';
registerBlockType('theme/feature-card', {
title: 'Feature Card',
icon: 'star-filled',
category: 'design',
attributes: {
heading: {
type: 'string',
default: 'Feature Title',
},
description: {
type: 'string',
default: 'Description here',
},
},
edit({ attributes, setAttributes }) {
const blockProps = useBlockProps();
return (
<div {...blockProps}>
<RichText
tagName="h3"
value={attributes.heading}
onChange={(heading) =>
setAttributes({ heading })
}
/>
<RichText
tagName="p"
value={attributes.description}
onChange={(description) =>
setAttributes({ description })
}
/>
</div>
);
},
save({ attributes }) {
const blockProps =
useBlockProps.save();
return (
<div {...blockProps}>
<h3>{attributes.heading}</h3>
<p>{attributes.description}</p>
</div>
);
},
});Advanced Tips
Use the transients API for caching expensive database queries and external API responses. Create block patterns that combine multiple blocks into reusable page section templates. Implement object cache drop-ins with Redis or Memcached for persistent caching in high-traffic environments.
When to Use It?
Use Cases
Build a custom theme with custom post types, taxonomies, and Gutenberg blocks for a portfolio website. Create a headless WordPress setup using the REST API to power a Next.js frontend. Implement a plugin that adds custom WooCommerce checkout fields and order processing logic.
Related Topics
PHP web development, content management systems, Gutenberg block editor, REST API development, and web performance optimization.
Important Notes
Requirements
PHP 8.0 or later with WordPress installed. Node.js for building custom Gutenberg blocks. A local development environment using wp-env or similar tools.
Usage Recommendations
Do: use WordPress coding standards for consistent code style across themes and plugins. Register custom post types with show_in_rest enabled for block editor and API compatibility. Implement nonce verification for forms and AJAX requests.
Don't: modify core WordPress files directly when hooks and filters provide customization points. Use global queries in templates when WP_Query instances provide cleaner scoping. Skip data sanitization and escaping when outputting user-submitted content.
Limitations
WordPress plugin ecosystem can introduce conflicts between plugins that hook into the same actions. Block editor customization requires JavaScript build tooling that adds complexity. Performance at scale requires caching infrastructure beyond default WordPress capabilities.
More Skills You Might Like
Explore similar skills to enhance your workflow
GraphQL Schema Patterns
GraphQL queries, mutations, and code generation patterns. Use when creating GraphQL operations, working with Apollo Client, or generating types
Geo Content Optimizer
Optimize content for AI citations in ChatGPT, Perplexity, AI Overviews, Gemini, Claude. AI
Freshservice Automation
Automate Freshservice ITSM tasks via Rube MCP (Composio): create/update tickets, bulk operations, service requests, and outbound emails. Always search
Humanize AI text
Humanize AI-generated text to bypass detection. This humanizer rewrites ChatGPT, Claude, and GPT
Marketing Skills
42 marketing agent skills and plugins for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw, and 6 more coding agents. 7 pods: content, SEO, CRO, chann
Social Media Posts
Create platform-specific social media posts for LinkedIn, Facebook, Instagram, and Reddit. Handles character limits, hashtag strategies, hook placemen