--- title: "WordPress" type: entity tags: [cms, php, open-source] last_updated: 2026-05-01 --- ## Overview WordPress is an open-source CMS (Content Management System) written in PHP, powering 40%+ of all websites globally. Primary use cases: blogs, brochure sites, WooCommerce e-commerce stores, headless CMS with REST/GraphQL API. ## Aliases - WP - WordPress.org (self-hosted vs wordpress.com) ## Key Characteristics - **Editing simplicity**: Gutenberg block editor (5.0+), intuitive for non-technical editors - **Plugin ecosystem**: 60,000+ plugins via wordpress.org repository - **Theme system**: Child themes (never modify parent directly), code-first registration of post types/taxonomies/fields - **Configuration**: Settings in `wp-config.php` or code — not the database - **Custom post types & taxonomies**: Registered in code via `register_post_type()` / `register_taxonomy()`, not UI - **ACF Pro**: Advanced Custom Fields plugin for structured content; field groups synced via ACF JSON ## WordPress Coding Patterns ### Register Custom Post Type (code, not UI) ```php add_action( 'init', function () { register_post_type( 'case_study', [ 'labels' => [ 'name' => 'Case Studies', 'singular_name' => 'Case Study', ], 'public' => true, 'has_archive' => true, 'show_in_rest' => true, 'menu_icon' => 'dashicons-portfolio', 'supports' => [ 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields' ], 'rewrite' => [ 'slug' => 'case-studies' ], ] ); } ); ``` ### Gutenberg Custom Block (block.json + PHP render) **block.json** defines the block schema and registers editor + render scripts. **render.php** handles server-side rendering without JavaScript dependency. ### ACF Block Registration ```php add_action( 'acf/init', function () { acf_register_block_type( [ 'name' => 'testimonial', 'title' => 'Testimonial', 'render_callback' => 'my_theme_render_testimonial', 'category' => 'my-theme', 'supports' => [ 'align' => false, 'jsx' => true ], ] ); } ); ``` ## Connections - [[CMSDeveloper]] uses WordPress as a primary CMS platform - [[ContentModel-first]] applies to WordPress content modeling before theme code - [[CodeOverConfiguration]] — WordPress settings belong in wp-config.php or code - [[WooCommerce]] extends WordPress for e-commerce use cases - [[HeadlessWP]] — WordPress as headless backend with Next.js/Nuxt front-end ## Sources - [[engineering-cms-developer]]