In this article, we will analyze the basic terminology of WordPress, for easier understanding and perception.
For someone, posts are equal to pages, someone does not know about posts, only knows about records, and for someone, the archive is “where the documents are.” This article aims to eliminate such errors so that it becomes easier to communicate within the WordPress community.
Before starting, let’s outline a few rules by which I compiled this dictionary:
- Not all concepts are described here, otherwise, the list of terms will grow into a development guide. But perhaps in the future, there will be a more detailed analysis of WordPress terms.
- The terms below are not in alphabetical order but are grouped by the scope and arranged by occurrence in wp development and the community.
So let’s get started:
Let’s start with concepts that are directly related to content creation.
Post – an article or any other publication belonging to one or more headings. The main part of WordPress is to quickly start blogging
Categories – each post must belong to at least one heading, which unites them on a common topic. Can have a tree structure (child and parent categories)
Tag – each post can contain as many tags as you like. The tag will additionally combine posts with a common theme. Has a linear structure
Page – an article or any other publication. Does not belong to categories, and does not contain tags. Pages can form a tree structure
These four terms are derivatives of two more global concepts. Post and page are registered post types (it turns out to be a slightly unpleasant, but already inevitable, tautology). A category and a tag are two basic taxonomies:
- Post type is an abstract type for elements that contain content.
- Taxonomy – an abstract type that combines records of a certain type
You can create your own post types and taxonomies, which expands the functionality of WordPress quite well. For example, the popular plugin for creating an online store Woocommerce creates post types: product, order, and coupon, as well as taxonomies: product category, product type, attribute, and tag. In this case, creating your own types allows you not to mix posts and products in one heap, which simplifies the work on the site, both for developers and managers.
- Term is an element of taxonomy. For example, a single category is the taxonomy term “Category”
- Post slug – one or more words separated by a dash. Used in Clean URLs (human-readable URLs). Generated automatically after the entry is created, but can be changed
- Post status – each post can have one or more statuses that partially determine the behavior of the post. The most popular are “Published” (Publish) and “Draft” (Draft)
- Posts Screen – a page in the admin panel that displays all posts of a certain type. As a separate entity, it is more of interest to the developer, since various behaviors and settings can be added to the screen. It is called a screen so that there is less confusion with the concept of a page.
- Shortcode is a small structure in the text that is replaced by the specified text. WordPress supports fewer than ten shortcodes but allows you to create your own using the Shortcode API
- The Gutenberg editor is a visual editor based on the idea that content is divided into blocks – text, pictures, and tables. Contains enough built-in blocks, but also allows you to add your own
- Metaboxes – blocks displayed on the edit page allow you to select or enter information in addition to the main content. For example, SEO data or data for a single element on a page that is not related to content. Working with default blocks of custom fields is not very convenient, so there are plugins to simplify interaction with them, the most popular is Advanced Custom Fields
Users and Roles
Users create content, there is nothing unusual in the terminology
- User – a person registered on the site, having a certain role and corresponding rights
- Roles – WordPress has several built-in roles that allow you to perform various actions, from the “read-only” at the subscriber to all at the admin. It is possible to add your own roles. To create, edit, copy, and delete user roles, you can use the User Role plugin.
Next, let’s go through terms that are related to customization, but do not always relate to development. Globally expand the capabilities of WordPress help:
- Theme – the code that is mainly responsible for the appearance of the displayed content. Uploaded to the `wp-content\themes` folder and enabled in the admin. To work, the theme needs two files index.php and styles.css, the second one describes the main information. But of course, a full-fledged theme consists of more than two files, so starter templates are written to simplify development, I use Sage.
- Plugin – additional code that extends the capabilities of the kernel. Plugins are loaded into the `wp-content\plugins` folder but can be installed from the extension store right in the admin panel. A plugin can consist of a single PHP file or a combination of dozens of files of different types.
There is often a very thin line between a plugin and a theme. In fact, both can display content and change the logic of cms, which is often used, for example, to make a theme completely independent and be able to easily share it. But the general principle behind the theme is the conclusion, behind the plugins’ logic, they should complement, and not completely depend on each other.
Also, themes and plugins do not have to be placed in the right folders on their own. They can be downloaded from the official market directly in the admin panel.
A few more things to customize the look:
Widget is a self-sufficient block (component) that is displayed on the page and performs a specific function. WordPress has a sufficient number of widgets built-in for different cases, for example, to display an image gallery, search, or display tags
Appearance customization (Customizer) is an interface for visually changing the site. The possibilities of settings depend on the theme used, the developer himself decides which blocks of the site to make editable. Often they add the ability to change the color scheme and the background, but in general, the possibilities are endless
Menu – menus in WordPress can be customized on a separate page and displayed in theme areas defined by the developer.
General Concepts for WordPress Development
- Hook – an event written in the code, during which you can display the content ( Action hook ) or change the data ( Filter hook ). Hooks are what keep WordPress extensible, thanks to them you can change the default behavior of cms without changing the core code. You can create hooks yourself using the Plugin API to add the same extensibility to your themes or plugins.
- Nonce – a token sent along with the request, which allows you to additionally protect the site from certain types of attacks. For example, thanks to the nonce, you can check whether the request was sent from a form on the site, and not by an attacker through some program. There is a set of functions to work with a nonce.
- Database – most often, together with WordPress, they use the MySql database. For abstraction and more convenient work, the wpdb class and the $wpdb global variable are used.
- REST API is a set of classes, functions, and hooks for creating a REST API. There is a set of endpoints already written in the core, which allows you to conveniently interact with sites, for example, using js and ajax. It is also possible to expand and create api for your theme or plugin.
- The WordPress loop (The Loop) is a set of several built-in functions ( have_posts(), the_post(), the_title(), the_content()… ) to display content on a page. For example, posts in a category are usually rendered using the WordPress loop
- Conditional tags – functions that return a boolean value: true – the condition is met, false – not. There are many such functions. For example `is_front_page()` checks if the current page is the front page, or `is_user_logged_in` checks if the user is logged in. A complete list can be found in the documentation.
- Template Hierarchy – The logic behind selecting theme files for output, is based on the page being rendered. For posts, pages, categories, and 404 pages, their own layout from a PHP file can be displayed. The choice of template is based on the file name or the title inside it.
- Plugin lifecycle – after installation, the plugin is activated in the admin panel, if you need to perform some actions in the code during activation, you need to use the register_activation_hook function. Also, the plugin can be deactivated ( register_deactivation_hook ) or completely removed ( register_uninstall_hook ). Once a plugin is activated, its main file is run every time WordPress starts up.
- Prefixes – since WordPress development revolves around using global objects, you should use prefixes in your code. The standard WordPress prefix is “wp_”, it is used in the names of variables, functions, hooks, and database tables
This concludes my little review of WordPress terminology, I hope the material was useful.
Thank you for your attention!