Web dev & WordPress ยท back to basics

Eleven words
that get mixed up

Style, theme, skin, template, widget, pluginโ€ฆ we use them interchangeably, but they sit at different layers and scopes. Here's each one drawn precisely โ€” with a little animation that shows what it means โ€” and how they fit together. They split cleanly into four families:

Family A ยท how it looks

Appearance

Style ยท Skin ยท Theme
Family B ยท how it's arranged

Structure

Layout ยท Template
Family C ยท the pieces

Building blocks

Elements ยท Components
Family D ยท what it does

Functionality

Widget ยท Plugin ยท Extension ยท Add-on
00 ยท the big split

Two questions, four families

Every term answers one of two questions about a website: how does it look and how is it arranged? โ€” or โ€” what can it do? Hold that split and the whole vocabulary falls into place.

Presentation & structure
how it looks & is arranged

The visual surface and the skeleton beneath it โ€” what the user sees and where everything sits.

AppearanceStyle ยท Skin ยท Theme
StructureLayout ยท Template
Building blocksElements ยท Components
Functionality
what it can do

The features and behaviour โ€” the things that extend what the base software can do, or add little functional modules to it.

Functional & extensionsWidget ยท Plugin ยท Extension ยท Add-on

These four are the most-confused of all โ€” we'll spend the most time pulling them apart.

family A ยท appearance

Style โŠ‚ Skin โŠ‚ Theme

These three aren't separate ideas โ€” they're the same thing at growing scope. A style is one set of rules; a skin is a swappable look; a theme is the whole presentation system.

color font radius styled
Stylethe atomic visual rule
The actual visual rules โ€” colours, fonts, spacing, borders. On the web this is CSS: the instructions that say how markup should look. It's the smallest unit of appearance.
WordPress: style.css โ€” the stylesheet (and the file whose header identifies a theme).
same structure โ†’ new skin
Skina swappable coat of paint
A pre-packaged set of styles you can switch to change the look โ€” without touching the structure, content, or features. โ€œRe-skinningโ€ = same app, different paint. Broader than one rule, narrower than a whole theme.
WordPress / builders: a style variation or โ€œskinโ€ for a block, widget, or whole site.
style tmpl layout func = THEME
Themethe whole presentation package
The complete package that controls how an entire site looks and is laid out โ€” styles, templates, and often functions, bundled together. The big umbrella over everything appearance-and-layout.
WordPress: a folder of templates + stylesheets + functions.php that defines the whole site's look & structure.
Same thing, growing scope
THEME โ€” the whole presentation system SKIN โ€” a swappable set of styles STYLE โ€” one set of rules (CSS) + templates + layout + functions
family B ยท structure

Layout vs Template

These two are about the skeleton, not the paint. The trick: a layout is the arrangement; a template is the reusable blueprint that produces one.

header content
Layoutwhere things sit
The arrangement of pieces on a page โ€” header up top, sidebar on the left, content in the middle, footer below; the columns and the grid. Layout answers โ€œwhere does everything go?โ€, independent of the specific content or styling.
WordPress: the column/section arrangement you build with blocks or a page builder.
ร— N
Templatea reusable blueprint
A predefined, reusable structure for a type of page, with placeholders where real content drops in. One template โ†’ many pages that share the same skeleton. A template encodes a layout.
WordPress: single.php, page.php, archive.php, or block templates โ€” the theme supplies them.
A template is a blueprint โ†’ it produces a laid-out page
TEMPLATE (blueprint) {{ title }} {{ content }} {{ side }} fill LAYOUT (finished page) Hello World one template, many pages
family C ยท building blocks

Elements โ†’ Components

The actual pieces a page is built from โ€” and again it's a gradient: an element is a primitive; a component is several elements composed into one reusable unit.

button one primitive piece
Elementthe primitive brick
The basic building block of a page. Strictly, an HTML element โ€” <p>, <img>, <button>. Loosely, a single visual piece: a heading, an image, a button. The smallest thing you place.
Builders (Elementor): the draggable basics โ€” heading, image, button, spacer.
= a "Card"
Componenta composed, reusable unit
A self-contained, reusable unit that bundles several elements โ€” plus structure, style, and often behaviour โ€” into one bigger block: a card, a navbar, a modal. Bricks form a prefab wall section.
React / blocks: a UI component (or a WordPress block) โ€” reusable, with its own logic.
Elements compose into a component
image heading text button ELEMENTS (primitives) compose COMPONENT โ€” โ€œCardโ€ reusable, self-contained
family D ยท functionality

Widget, Plugin, Extension, Add-on

Now the messy cluster. A widget is a placeable mini-module; the other three all mean โ€œcode that adds a featureโ€ โ€” and differ mainly by what they extend.

area drop
Widgeta placeable functional module
A small, self-contained functional block you drop into a designated area of the UI โ€” a sidebar, a footer. It does one job (search, recent posts, a calendar) and can be configured in place.
WordPress: the classic sidebar/footer widgets (Recent Posts, Search) โ€” now largely handled by blocks in widget areas.
CORE CORE plug
Pluginextends the core
A package of code that adds new functionality to the core software, hooking into it. This is WordPress's main extension mechanism โ€” it plugs into hooks & filters and adds features the core didn't have.
WordPress: WooCommerce (e-commerce), Yoast (SEO) โ€” they extend WordPress itself.
platform extension extends a base
Extensionextends a base โ€” often a platform
A generic word for โ€œsomething that extends a base.โ€ In some ecosystems it's simply their name for a plugin (browser extensions, VS Code extensions). In WordPress, it often means something that extends a platform or another plugin rather than the core.
WordPress: a โ€œWooCommerce extensionโ€ adds to WooCommerce โ€” not to core.
HOST depends on host
Add-onan optional supplement to a host
An extra, optional piece that adds a specific feature to one particular product โ€” a plugin, a theme, a page builder โ€” and usually depends on that host to work at all.
WordPress: โ€œElementor add-onsโ€ bolt extra widgets onto Elementor; many plugins sell feature add-ons.
The crux โ€” they differ by what they extend
CORE (WordPress) PLUGIN extends core EXTENSION extends a platform/plugin a host product(builder/plugin) ADD-ON depends on host

The honest truth: plugin, extension, and add-on are near-synonyms used interchangeably every day. When people are precise, the difference is what they extend โ€” the core (plugin), a platform or plugin (extension), or a specific host product (add-on) โ€” plus whatever each ecosystem happens to call it.

the cheat-sheet

All eleven, side by side

Term
In one line
Scope / layer
WordPress
Style
The visual rules โ€” colours, fonts, spacing (CSS).
appearance ยท atomic
style.css
Skin
A swappable set of styles; a re-paint.
appearance ยท variation
style variation
Theme
The whole look + layout package.
appearance ยท whole system
theme folder
Layout
The arrangement โ€” where things sit.
structure ยท the result
block/section layout
Template
A reusable blueprint with placeholders.
structure ยท the blueprint
single.php ยท block templates
Element
A primitive building block (an HTML tag).
building block ยท primitive
heading, image, button
Component
A reusable unit composed of elements.
building block ยท composed
a block / UI component
Widget
A small functional module in a set area.
functionality ยท placeable
sidebar widgets
Plugin
Code that adds features to the core.
functionality ยท extends core
WooCommerce, Yoast
Extension
Generic โ€œextends a baseโ€ (often a platform).
functionality ยท extends platform
WooCommerce extensions
Add-on
Optional supplement to a specific host.
functionality ยท extends a host
Elementor add-ons
the whole picture

How they all fit

One website ยท the eleven terms in their place
PRESENTATION & STRUCTURE โ€” how it looks & is arranged THEME Style ยท Skin Template โ†’ arranges โ†’ Layout (the arrangement) BUILDING BLOCKS Elements compose โ†’ Components FUNCTIONALITY โ€” what it does Widget โ€” placeable mini-module Plugin โ€” extends the core Extension โ€” extends a platform Add-on โ€” extends a host product
honest caveats

Where the words get slippery

1
Usage is ecosystem-dependent. WordPress, React, page builders, and browsers all bend these words a little differently. What's written here is the common, defensible meaning โ€” not a universal law.
2
Plugin = Extension = Add-on, most days. In casual use they're swapped freely. The precise split โ€” core vs platform/plugin vs a specific host โ€” only matters when someone's being careful.
3
Style โ†’ Skin โ†’ Theme is a scope gradient, and Element โ†’ Component is a composition gradient. They're not separate species; each is a bigger version of the one before.
4
โ€œWidgetโ€ is the most overloaded of all โ€” a WordPress sidebar widget, an OS desktop widget, a JavaScript embed widget, and a page-builder element all wear the name. Always check which world you're in.
5
The line between component and widget blurs. Both are reusable units โ€” โ€œcomponentโ€ stresses composition & reuse, โ€œwidgetโ€ stresses a placeable, configurable function.

The vocabulary, in five lines

  • Appearance: Style (the rules / CSS) โŠ‚ Skin (a swappable look) โŠ‚ Theme (the whole presentation package).
  • Structure: a Layout is the arrangement; a Template is the reusable blueprint that produces one.
  • Building blocks: an Element is a primitive (an HTML tag); a Component is several elements composed into a reusable unit.
  • Functionality: a Widget is a placeable mini-module; Plugin / Extension / Add-on all add features, differing by what they extend โ€” core, a platform, or a specific host.
  • Above all: these words are used loosely and by convention โ€” know the precise meaning, but read the ecosystem you're in.

Same words, different layers.

Once you see the four families โ€” look, arrangement, pieces, and power โ€” the vocabulary stops being a tangle and becomes a map. Style is a rule; a theme is a world; a plugin is a power; and a widget is a little machine you drop in a slot.

You cannot copy content of this page

Not enough quota to unlock this post
Unlock left : 0
Are you sure want to cancel subscription?