WordPress Concepts Reference

Complete Guide to WordPress Architecture & Development

Taxonomies

Built-in Taxonomies

Categories Tags Post Formats Link Categories

Taxonomy Functions

register_taxonomy() wp_get_post_terms() wp_set_post_terms() get_terms() get_term() wp_insert_term() wp_update_term() wp_delete_term()

Content Types

Built-in Post Types

Posts Pages Attachments Nav Menu Items Customizer Changesets Revisions

Custom Post Types

register_post_type() post_type_exists() get_post_type_object() get_post_types() post_type_supports()

Post Status

publish draft pending private auto-draft trash

Hooks System

Action Hooks

add_action() remove_action() do_action() has_action() remove_all_actions()

Filter Hooks

add_filter() remove_filter() apply_filters() has_filter() remove_all_filters()

Common Hook Points

init plugins_loaded after_setup_theme template_redirect wp_head wp_footer admin_init wp_enqueue_scripts

User Management

User Roles

Administrator Editor Author Contributor Subscriber Super Admin

Capabilities

publish_posts edit_posts delete_posts manage_options upload_files moderate_comments edit_users install_plugins

User Functions

current_user_can() wp_get_current_user() is_user_logged_in() add_role() remove_role() get_user_by()

Theme System

Template Hierarchy

index.php home.php front-page.php single.php page.php archive.php category.php search.php 404.php

Template Parts

header.php footer.php sidebar.php comments.php functions.php style.css

Theme Features

post-thumbnails custom-logo custom-header custom-background html5 post-formats automatic-feed-links title-tag

Plugin System

Plugin Lifecycle

register_activation_hook() register_deactivation_hook() register_uninstall_hook() is_plugin_active() get_plugin_data()

Plugin Structure

plugin-name.php uninstall.php readme.txt /assets/ /includes/ /admin/ /public/ /languages/

Shortcodes

Built-in Shortcodes

[gallery] [audio] [video] [caption] [embed] [playlist]

Shortcode Functions

add_shortcode() remove_shortcode() do_shortcode() shortcode_exists() shortcode_atts() strip_shortcodes()

Database

Core Tables

wp_posts wp_postmeta wp_users wp_usermeta wp_comments wp_commentmeta wp_terms wp_term_relationships wp_options

Database Functions

$wpdb $wpdb->prepare() $wpdb->get_var() $wpdb->get_row() $wpdb->get_results() $wpdb->insert() $wpdb->update() $wpdb->delete()

REST API

Default Endpoints

/wp/v2/posts /wp/v2/pages /wp/v2/users /wp/v2/comments /wp/v2/categories /wp/v2/tags /wp/v2/media

REST API Functions

register_rest_route() register_rest_field() WP_REST_Response WP_REST_Request rest_ensure_response()

Widgets

Built-in Widgets

Recent Posts Recent Comments Archives Categories Tag Cloud Calendar Search Custom HTML

Widget Functions

register_sidebar() register_widget() unregister_widget() dynamic_sidebar() is_active_sidebar()

Customizer

Customizer Components

Sections Panels Settings Controls Transport

Customizer Functions

add_panel() add_section() add_setting() add_control() get_theme_mod() set_theme_mod()
Wesley Classen
Wesley's AI Assistant Usually replies in ~15 min Ask me anything — if I can't answer, Wesley gets pinged and replies personally.
Hello! I'm Wesley's AI assistant. How can I help you today?