{"id":159296,"date":"2016-09-26T13:00:20","date_gmt":"2016-09-26T13:00:20","guid":{"rendered":"https:\/\/premium.wpmudev.org\/blog\/?p=159296"},"modified":"2022-03-11T01:19:12","modified_gmt":"2022-03-11T01:19:12","slug":"wordpress-dictionary","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/wordpress-dictionary\/","title":{"rendered":"A to Z of WordPress Terminology for Beginners to Advanced"},"content":{"rendered":"<p>A lot of posts on this blog\u00a0attempt to explain WordPress concepts and terminology, or at least those\u00a0that are relevant to the post. And the <a href=\"https:\/\/codex.wordpress.org\" target=\"_blank\">WordPress Codex<\/a> does a great job of\u00a0explaining the concepts used by WordPress.<\/p>\n<p>But following lots of questions I&#8217;ve seen in comments on posts asking for definitions and explanations, I thought it would be useful to create a jargon buster for WordPress users and developers.<\/p>\n<p>So in this post I&#8217;ll attempt to define and explain\u00a0some of the key concepts in WordPress. Some of these are more relevant for users, others for developers, and some for both.<\/p>\n<p>I&#8217;m going to take each term alphabetically, so you can find them easily if you don&#8217;t know where they fit in terms of context. But first here&#8217;s a list of the terms I&#8217;ll define, broken down by broad topic:<\/p>\n<ul>\n<li><strong>Core concepts:<\/strong> <a href=\"#CMS\">CMS<\/a>, <a href=\"#MultisiteNetwork\">Multisite network<\/a>,\u00a0<a href=\"#Plugin\">plugin<\/a>, <a href=\"#Theme\">theme<\/a>.<\/li>\n<li><strong>Data:<\/strong> <a href=\"#Database\">database<\/a>, <a href=\"#DatabaseTable\">database table<\/a>, <a href=\"#Loop\">loop<\/a>, <a href=\"#Metadata\">metadata<\/a>, <a href=\"#Query\">query<\/a>.<\/li>\n<li><strong>Content types:<\/strong> <a href=\"#Attachment\">attachment<\/a>, <a href=\"#Category\">category<\/a>, <a href=\"#Page\">page<\/a>, <a href=\"#Post\">post<\/a>, <a href=\"#PostFormat\">post format<\/a>, <a href=\"#PostType\">post type<\/a>, <a href=\"#Tag\">tag<\/a>, <a href=\"#Taxonomy\">taxonomy<\/a>, <a href=\"#Term\">term<\/a>, <a href=\"#Revision\">revision<\/a>.<\/li>\n<li><strong>File types:<\/strong> <a href=\"#ChildTheme\">child theme<\/a>, <a href=\"#ConfigFile\">config file<\/a>, <a href=\"#FunctionsFile\">functions file<\/a>, <a href=\"#IncludeFile\">include file<\/a>, <a href=\"#Stylesheet\">stylesheet<\/a>, <a href=\"#TemplateFile\">template file<\/a>, <a href=\"#TemplateHierarchy\">template hierarchy<\/a>, <a href=\"#TemplatePart\">template part<\/a>.<\/li>\n<li><strong>Admin tools:<\/strong> <a href=\"#Customizer\">Customizer<\/a>, <a href=\"#MetaBox\">meta box<\/a>, <a href=\"#NavigationMenu\">navigation menu<\/a>, <a href=\"#Options\">options<\/a>, <a href=\"#Settings\">settings<\/a>, <a href=\"#Shortcode\">shortcode<\/a>, <a href=\"#Widget\">widget<\/a>.<\/li>\n<li><strong>Code:<\/strong> <a href=\"#ActionHook\">action hook<\/a>, <a href=\"#API\">API<\/a>, <a href=\"#Class\">class<\/a>, <a href=\"#FilterHook\">filter hook<\/a>, <a href=\"#Function\">function<\/a>, <a href=\"#Object\">object<\/a>, <a href=\"#ObjectOrientedProgramming\">Object Oriented Programming<\/a>, <a href=\"#Property\">property<\/a>, <a href=\"#Method\">method<\/a>, <a href=\"#TemplateTag\">template tag<\/a>.<\/li>\n<li><strong>Permissions:<\/strong> <a href=\"#Capability\">capability<\/a>, <a href=\"#Role\">role<\/a>.<\/li>\n<li><strong>Security:<\/strong> <a href=\"#NONCEKeys\">NONCE\u00a0keys<\/a>, <a href=\"#SALTKeys\">SALT keys<\/a>, <a href=\"#Sanitization\">sanitization<\/a>, <a href=\"#Validation\">validation<\/a>.<\/li>\n<\/ul>\n<p>I realize this isn&#8217;t an exhaustive list of WordPress terminology and that if you&#8217;re an advanced developer (or hoping to become one) there may be things I&#8217;ve missed out. But this should cover the vast majority of questions\u00a0that most of our readers ask.<\/p>\n<h3 id=\"ActionHook\">Action Hook<\/h3>\n<p>An action hook is a line of code added to a WordPress core file, a <a href=\"#Theme\">theme<\/a> or <a href=\"#Plugin\">plugin<\/a> which lets you insert extra code by attaching a <a href=\"#Function\">function<\/a> to it.<\/p>\n<p>To add an action hook to your theme or plugin, you add this code:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"gist\" data-gist=\"d2a2715ac783b56dd741f73709b2f44c\" data-gist-file=\"action hook\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/d2a2715ac783b56dd741f73709b2f44c.js?file=action+hook\">Loading gist d2a2715ac783b56dd741f73709b2f44c<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div><\/span><\/p>\n<p>And then to run a function called <code>myfunction<\/code> at that point in\u00a0the code, you attach it to the hook using <code>add_action<\/code>:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"gist\" data-gist=\"141259adfff6bb2d6524a8802916da2e\" data-gist-file=\"add action\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/141259adfff6bb2d6524a8802916da2e.js?file=add+action\">Loading gist 141259adfff6bb2d6524a8802916da2e<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div><\/span><\/p>\n<p>If you want to add code which can be overridden or altered with a function (instead of creating an empty spot for code to be added), you use a <a href=\"#FilterHook\">filter hook<\/a>.<\/p>\n<h3 id=\"API\">API<\/h3>\n<p>API stands for <a href=\"https:\/\/en.wikipedia.org\/wiki\/Application_programming_interface\" target=\"_blank\">Application Programming Interface<\/a>. It&#8217;s a codebase that lets you interact with one system from another system.<\/p>\n<p>An API can let you interact with one part of a system from another part of the same system, or it can let you do so from an external system. An example of the first is the <a href=\"https:\/\/codex.wordpress.org\/Widgets_API\" target=\"_blank\">Widgets API<\/a>, which lets you write plugins to create widgets, while an example of the second is the WordPress <a href=\"https:\/\/wpmudev.com\/blog\/tag\/rest-api\/\" target=\"_blank\">REST API<\/a>, or the <a href=\"https:\/\/www.google.com\/intx\/en_uk\/work\/mapsearth\/products\/mapsapis.html?utm_source=cpc&amp;utm_medium=google&amp;utm_campaign=2016-geo-emea-endor-gmedia-search-gb-eventide&amp;utm_content=gb%7Cen%7Chybr%7C1001878%7C%7Cbk%7Cbrand%7C%7Ceven_tide&amp;gclid=CIvK4ZLXnc8CFUUW0wodLVgJ-w\" target=\"_blank\">Google Maps API<\/a> which you might use if you&#8217;re coding a mapping plugin.<\/p>\n<h3 id=\"Attachment\">Attachment<\/h3>\n<p>An attachment is a file that you upload to a <a href=\"#Page\">page<\/a> or <a href=\"#Post\">post<\/a> on your site. It could be an image, video, or audio clip that you embed in your content, or it could be a file that is accessed by a clickable link that WordPress creates when you upload the file.<\/p>\n<p>Attachment is a <a href=\"#PostType\">post type<\/a> in WordPress: it&#8217;s one of the post types that comes with WordPress out of the box.<\/p>\n<h3 id=\"Capability\">Capability<\/h3>\n<p>A capability lets a user perform a given action, such as editing posts (<code>edit_posts<\/code>) or installing plugins (<code>install_plugins<\/code>).<\/p>\n<p>Each user <a href=\"#Role\">role<\/a> has a defined set of capabilities assigned to it, which define what some with that role can do. You can add or remove capabilities from\u00a0roles using the <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/add_cap\" target=\"_blank\"><code>add_cap()<\/code><\/a> and <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/remove_cap\" target=\"_blank\"><code>remove_cap()<\/code><\/a> functions.<\/p>\n<h3 id=\"Category\">Category<\/h3>\n<p>Category is an in-built <a href=\"#Taxonomy\">taxonomy<\/a> that comes with WordPress, that you can use to classify your posts. Categories are hierarchical, which means they can have parent and child categories.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670 size-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/categories.png\" alt=\"category editing screen\" width=\"670\" height=\"526\" \/><figcaption class=\"wp-caption-text\">Add categories to structure your site&#8217;s content<\/figcaption><\/figure>\n<\/div>\n<p>Categories tend to be used for sections of the site or major themes or topics, as against <a href=\"#Tag\">tags<\/a>\u00a0which you generally use more of. In most sites the difference is that you would use categories to structure your site, adding them to the navigation menu, which you wouldn&#8217;t with tags. Each category you define is a <a href=\"#Term\">term<\/a> in the &#8216;category&#8217; <a href=\"#Taxonomy\">taxonomy<\/a>.<\/p>\n<h3 id=\"Class\">Class<\/h3>\n<p>A class is a type of programming used in <a href=\"https:\/\/wpmudev.com\/blog\/advanced-wordpress-development-introduction-to-oop\/\" target=\"_blank\">Object Oriented PHP<\/a>. Using a class instead of a load of separate functions makes your code cleaner and easier to extend.<\/p>\n<p>A class will contain a number of related functions (known as <a href=\"#Method\">methods<\/a>): for example, the <a href=\"https:\/\/codex.wordpress.org\/Widgets_API\" target=\"_blank\"><code>WP_Widget<\/code><\/a> class includes functions to populate the widget, to save what&#8217;s input into it and to output it on the site. You can then write a new class in a plugin or theme that extends the original class by amending or adding to specific parts of it, saving you from having to rewrite the whole thing.<\/p>\n<h3>Child Theme<\/h3>\n<p>A child theme is a <a href=\"#Theme\">theme<\/a> which you use to add extra code to a parent theme. If you want to edit a theme you&#8217;ve bought or installed\u00a0from\u00a0the theme directory you should always use a child theme to do this, instead of editing the theme directly. This is because any changes you make to the theme will be lost when it&#8217;s updated.<\/p>\n<p>To tell WordPress that a theme is a child theme, you <a href=\"https:\/\/wpmudev.com\/blog\/how-to-create-wordpress-child-theme\/\" target=\"_blank\">add extra code<\/a> to the theme <a href=\"#Stylesheet\">stylesheet<\/a> with details of the parent theme. Child themes can be used to add tweaks to a parent theme, to make significant customizations, to add extra styling, functions or <a href=\"#TemplateFile\">template files<\/a>, or in conjunction with a <a href=\"https:\/\/wpmudev.com\/blog\/wordpress-theme-frameworks\/\" target=\"_blank\">theme framework<\/a>.<\/p>\n<h3 id=\"CMS\">CMS<\/h3>\n<p>A CMS, or Content Management System, is a system\u00a0that lets users add content to\u00a0a website without having to directly code that content into web pages. WordPress is the world&#8217;s most popular CMS!<\/p>\n<p>A CMS needs a <a href=\"#Database\">database<\/a> to store content and then a set of files (in WordPress, a <a href=\"#Theme\">theme<\/a>) which will be used to output that content into a web page, generating front-end languages like HTML and JavaScript. It will normally use a back-end programming language like PHP to do this.<\/p>\n<h3 id=\"ConfigFile\">Config File<\/h3>\n<p>The config file, or <code>wp-config.php<\/code>, defines how your WordPress installation is configured. It&#8217;s sometimes\u00a0edited by WordPress itself\u00a0as you make changes in the admin screens, or you can edit it directly (with care!). Use it to activate <a href=\"#MultisiteNetwork\">Multisite<\/a> or to turn debugging on or off.<\/p>\n<h3 id=\"Customizer\">Customizer<\/h3>\n<p>The WordPress Customizer is an interface that lets you make changes to the parts of your site that you can&#8217;t edit via the post editor. Exactly what features you have access to will depend on your theme (and sometimes plugins), but there are some default elements including widgets, menus, and site identity. Your theme might then also let you customize the layout and colors and add text in the header and\/or footer.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670 size-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/customizer-color-tweaks.png\" alt=\"The WordPress Customizer\" width=\"670\" height=\"475\" \/><figcaption class=\"wp-caption-text\">The Customizer makes it easy for you to customize your site in real time<\/figcaption><\/figure>\n<\/div>\n<p>All themes submitted to the <a href=\"https:\/\/wordpress.org\/themes\/\" target=\"_blank\">theme directory<\/a> are now required to use the Customizer\u00a0instead of theme options screens. The advantage of this is that users can see the changes they&#8217;re making as they make them. To add Customizer functionality to your own themes, follow <a href=\"https:\/\/wpmudev.com\/blog\/wordpress-development-for-intermediate-users-making-your-themes-customizer-ready\/\" target=\"_blank\">our guide<\/a>.<\/p>\n<h3 id=\"CustomField\">Custom Field<\/h3>\n<p>Custom field is another way of describing post <a href=\"#Metadata\">metadata<\/a>. Use custom fields to add extra data to your posts such as your mood when you were writing, the weather etc. You shouldn&#8217;t use custom fields to classify your posts: use <a href=\"#Category\">categories<\/a> or <a href=\"#Tag\">tags<\/a> instead.<\/p>\n<p>To add custom fields, use the interface on the post editing screen. Alternatively, you can create your own <a href=\"#MetaBox\">metabox<\/a> to make custom fields even easier to work with.<\/p>\n<h3 id=\"Database\">Database<\/h3>\n<p>The database stores all of the data relating to your WordPress installation. This will include content (posts, pages, attachments etc.), user data and options such as configurations you&#8217;ve made to plugins.<\/p>\n<p>The database consists of eleven tables. If your site is a <a href=\"#MultisiteNetwork\">Multisite<\/a> network there will be extra tables for each site, although user data is shared across the whole network in two tables: <code>wp_users<\/code> and <code>wp_usermeta<\/code>.<\/p>\n<p>You should never edit the database directly: instead, use the WordPress admin screens to make changes.<\/p>\n<h3 id=\"DatabaseTable\">Database Table<\/h3>\n<p>A table in the WordPress database holds a specific\u00a0kind of data. For example, <code>wp_posts<\/code> holds data relating to posts (which includes all <a href=\"#PostType\">post types<\/a>, not just Posts). There are also tables for <a href=\"#Term\">taxonomy terms<\/a>, for <a href=\"#Options\">options<\/a> and for <a href=\"#Metadata\">metadata<\/a> such as post metadata.<\/p>\n<h3 id=\"FilterHook\">Filter Hook<\/h3>\n<p>A filter hook is coded into a WordPress core file or a theme or plugin. It encloses\u00a0default code which you can then override by writing a function and attaching it that hook.<\/p>\n<p>To add a filter to your theme or plugin, you use code something like this:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"gist\" data-gist=\"dd5283b5cea27085c67bdcd8b24f5b81\" data-gist-file=\"apply filter hook\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/dd5283b5cea27085c67bdcd8b24f5b81.js?file=apply+filter+hook\">Loading gist dd5283b5cea27085c67bdcd8b24f5b81<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div><\/span><\/p>\n<p>Then if you want to change that default code or text, you write a function with the new content and hook it to the filter like so:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"gist\" data-gist=\"89f1eaadd31db918c7c64ccf9f5e2d3e\" data-gist-file=\"add filter\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/89f1eaadd31db918c7c64ccf9f5e2d3e.js?file=add+filter\">Loading gist 89f1eaadd31db918c7c64ccf9f5e2d3e<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div><\/span><\/p>\n<p>You can also hook functions\u00a0to filter hooks provided by WordPress, to override default code.<\/p>\n<p>The difference between a filter hook and an <a href=\"#ActionHook\">action hook<\/a> is that an action hook is empty: code is only added to it when a function is hooked to it. A filter hook is not empty: it&#8217;s wrapped around default text or code that will be output\u00a0if no function is attached to the hook.<\/p>\n<h3 id=\"Function\">Function<\/h3>\n<p>A function is a block of code that you write into your theme or plugin to make something happen. WordPress core files also contain hundreds of\u00a0functions.<\/p>\n<p>You can make use of <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\" target=\"_blank\">core WordPress functions<\/a> in your own code or you can write your own: it&#8217;s always a good idea to check that there isn&#8217;t already one that does what you need before you start to create a new one.<\/p>\n<p>You can write a function inside another one: it&#8217;s common to write your own function which contains one or more WordPress functions.<\/p>\n<p>To get a function to fire, you can\u00a0write it directly into a\u00a0theme or plugin file, in which case it will fire at that point in your file. Alternatively, you can hook it to an <a href=\"#ActionHook\">action hook<\/a> or <a href=\"#FilterHook\">filter hook<\/a>. The advantage of doing this is that you can insert the function at multiple points\u00a0in your code or you can override or remove it at a later stage without having to edit the theme or plugin files. This is good practice if you&#8217;re developing themes or plugins for others to use and makes them extendable.<\/p>\n<p>To code a function you give it a unique name followed by brackets (inside which you can optionally add parameters) and then add the function code inside curly braces:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"gist\" data-gist=\"5aa78f7e5fb95d1227ef87ae7ae38821\" data-gist-file=\"apply filters\"><a class=\"loading\" href=\"https:\/\/gist.github.com\/5aa78f7e5fb95d1227ef87ae7ae38821.js?file=apply+filters\">Loading gist 5aa78f7e5fb95d1227ef87ae7ae38821<\/a><div class=\"gist-consent-notice\" style=\"display:none\"><p>Please <a href=\"javascript:Cookiebot.renew()\">update your cookie preferences<\/a> to enable preference cookies to view this gist.<\/p><\/div><\/div><\/span><\/p>\n<h3 id=\"FunctionsFile\">Functions File<\/h3>\n<p>The functions file (<em>functions.php<\/em>) is a file in a theme that doesn&#8217;t display content on pages. Instead, you use it to add functionality to your theme. The functions file will include things like adding <a href=\"#Customizer\">Customizer<\/a> support, featured image support and any custom functions you add to your theme. A theme doesn&#8217;t have to have a functions file to work.<\/p>\n<p>If you find yourself adding too much functionality via the functions file, you might be better off writing \u00a0a <a href=\"#Plugin\">plugin<\/a> instead. Plugins should be used for functionality and themes for display.<\/p>\n<h3 id=\"IncludeFile\">Include File<\/h3>\n<p>An include file is a file you add to a plugin (or sometimes a theme) to hold code separately\u00a0from the main plugin file. It can be useful to do this when adding a large amount of code to add specific functionality. For example, I would use an include file to add Customizer support to a theme.<\/p>\n<p>To include your file, use a <a href=\"https:\/\/code.tutsplus.com\/articles\/how-to-include-and-require-files-and-templates-in-wordpress--wp-26419\" target=\"_blank\">function<\/a> (such as <code>include_once()<\/code>) inside your main plugin file or your theme&#8217;s functions file to call the include file. This inserts the code from the file in the place where you added the include function.<\/p>\n<h3 id=\"Loop\">Loop<\/h3>\n<p>The loop is the code in your theme that <a href=\"#Query\">queries<\/a> the <a href=\"#Database\">database<\/a> and fetches and outputs the current post. For a single post or a page it will run once while on an archive page it will loop repeatedly until all relevant posts have been output.<\/p>\n<p>You can either add the loop to your theme <a href=\"#TemplateFile\">template files<\/a> or to a <a href=\"#TemplatePart\">template part<\/a>, which means you can use the same loop in multiple template files. For a guide on how to do this, see our post on <a href=\"https:\/\/wpmudev.com\/blog\/wordpress-development-intermediate-theme-development-in-detail\/\" target=\"_blank\">theme development<\/a>.<\/p>\n<h3 id=\"MetaBox\">Meta Box<\/h3>\n<p>A meta box is an area in an admin screen that you use to add content, configure settings, or perform an action. You can <a href=\"https:\/\/wpmudev.com\/blog\/wordpress-development-intermediate-users-custom-fields-metadata\/\" target=\"_blank\">add meta boxes<\/a> by writing your own plugins.<\/p>\n<figure class=\"wp-caption alignnone\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/custom-fields-ui-removed.png\" alt=\"The Add More metabox lets users add metadata to this post.\" width=\"670\" height=\"484\" \/><figcaption class=\"wp-caption-text\">The Add More metabox lets users add metadata to this post.<\/figcaption><\/figure>\n<p>Meta boxes are incredibly useful as they give users the flexibility to add extra content areas (using <a href=\"#Metadata\">metadata<\/a>) or configurations without having to leave the post-editing screen or write any code.<\/p>\n<h3 id=\"Metadata\">Metadata<\/h3>\n<p>Metadata is data about data. Yes, that sounds ridiculous I know. Let me explain it with an example.<\/p>\n<p>WordPress stores posts (and pages, attachments etc.) in the <code>wp_posts<\/code> table in the <a href=\"#Database\">database<\/a>. Fields in this table are limited to a <a href=\"https:\/\/codex.wordpress.org\/Database_Description#Table:_wp_posts\" target=\"_blank\">predefined list<\/a> including the post title, post content, date it was created, \u00a0its status and excerpt.<\/p>\n<p>But what if you want to add extra data to your post that isn&#8217;t covered by one of those fields? That&#8217;s when you need metadata, sometimes referred to as <a href=\"#CustomField\">custom fields<\/a>. This can be anything you want, from the weather when you created the post to data relating to its SEO.<\/p>\n<p>To create and work with metadata, see <a href=\"https:\/\/wpmudev.com\/blog\/wordpress-development-intermediate-users-custom-fields-metadata\/\" target=\"_blank\">our guide<\/a>.<\/p>\n\n<h3 id=\"Method\">Method<\/h3>\n<p>A method is something that&#8217;s used in <a href=\"https:\/\/wpmudev.com\/blog\/advanced-wordpress-development-introduction-to-oop\/\" target=\"_blank\">Object-Oriented Programming<\/a>. It&#8217;s how you describe a function that&#8217;s used inside a <a href=\"#Class\">class<\/a>. Nothing mysterious about it!<\/p>\n<h3 id=\"MultisiteNetwork\">Multisite Network<\/h3>\n<p>A Multisite network is a network of sites sharing one WordPress installation. By activating Multisite you can host as many sites on your WordPress installation as you need, from two to millions. For full guidance on installing and managing a Multisite network, see our <a href=\"https:\/\/wpmudev.com\/blog\/ultimate-guide-multisite\/\" target=\"_blank\">ultimate guide to Multisite<\/a>.<\/p>\n<h3 id=\"NavigationMenu\">Navigation Menu<\/h3>\n<p>The navigation menu is a menu you place in your site&#8217;s header to help people navigate around your site. Menu items are a <a href=\"#PostType\">post type<\/a> in WordPress, and you add them via the menus admin screen or the <a href=\"#Customizer\">Customizer<\/a>.<\/p>\n<p>You can also add extra navigation menus by coding them into your theme or using a <a href=\"#Widget\">widget<\/a>.<\/p>\n<h3 id=\"NONCEKeys\">Nonce\u00a0Keys<\/h3>\n<p>NONCE stands for Number used ONCE. It&#8217;s a number that can only be used once, normally within a URL. So, for example, if someone attempts to reset their password in WordPress they will be sent a link that includes a nonce. Once they&#8217;ve clicked on that link they can&#8217;t use it again. This means that someone else can&#8217;t use the same link to change their password again.<\/p>\n<p><a href=\"https:\/\/wpmudev.com\/blog\/wordpress-nonces\/\" target=\"_blank\">Use nonces to make your code more secure<\/a>, for example when saving data via a plugin.<\/p>\n<h3 id=\"Object\">Object<\/h3>\n<p>In <a href=\"#ObjectOrientedProgramming\">Object-Oriented Programming<\/a>, an object is a bundle of variables and related\u00a0<a href=\"#Method\">methods<\/a>. Use them in <a href=\"#Class\">classes<\/a> to group functions together and make your code more efficient and easer to extend.<\/p>\n<h3 id=\"ObjectOrientedProgramming\">Object-Oriented Programming<\/h3>\n<p><a href=\"https:\/\/wpmudev.com\/blog\/advanced-wordpress-development-introduction-to-oop\/\" target=\"_blank\">Object-Oriented Programming<\/a> is a programming method that uses <a href=\"#Object\">objects<\/a>, <a href=\"#Method\">methods<\/a> and <a href=\"#Class\">classes<\/a> to group code together and make it easier to extend. This is in contrast to functional programming which treats <a href=\"#Function\">functions<\/a> as separate entities.<\/p>\n<h3 id=\"Options\">Options<\/h3>\n<p>An option is something you can change about your WordPress site that isn&#8217;t part of a post, page or any other content type. Instead, it relates to the site settings or plugin or theme configuration. Options are also referred to as <a href=\"#Settings\">settings<\/a>.<\/p>\n<p>All of your site&#8217;s options are stored in the <code>wp_options<\/code> table in the <a href=\"#Database\">database<\/a>, the only table not linked to any other tables.<\/p>\n<h3 id=\"Page\">Page<\/h3>\n<p>A page is a <a href=\"#PostType\">post type<\/a> that comes as default with a standard WordPress installation. Use it for static\u00a0content that you don&#8217;t need to list in your blog page or elsewhere on the site. Frequent uses include the home page, an &#8216;About&#8217; page or a contact page.<\/p>\n<p>Some sites are based entirely around pages instead of <a href=\"#Post\">posts<\/a>. These often use a hierarchical structure, with parent and child pages.<\/p>\n<h3 id=\"Plugin\">Plugin<\/h3>\n<p>A plugin is a set of code that adds extra functionality to your WordPress site. This could be as simple as changing the login logo or as complex as adding e-commerce functionality.<\/p>\n<p>You install plugins via the Plugins page in your admin screens. You can either write your own, buy them from a plugin vendor or install them from the plugin directory.<\/p>\n<div  class=\"wpdui-pic-regular  \"> <img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670 size-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/plugin-directory.png\" alt=\"WordPress plugin directory\" width=\"670\" height=\"574\" \/> <\/div>\n<p>Remember that plugins are for functionality while <a href=\"#Theme\">themes<\/a> are for display. So\u00a0if you find yourself writing a lot of functional code into your theme, you might be better off separating it out into a plugin. This is better practice and means you can use\u00a0the code again in other sites running different themes.<\/p>\n<h3 id=\"Post\">Post<\/h3>\n<p>This is where things can get confusing. A post is a <a href=\"#PostType\">post type<\/a>, but can also be used to refer to all post types. For users the term &#8216;Post&#8217; normally means the post type you use to create blog posts, articles, updates etc. For developers it can be used to describe all posts contained in the <em>wp_posts<\/em> table, including posts, pages and more. Here I&#8217;ll focus on the first meaning.<\/p>\n<p>To add a new Post you use the post editing screen in WordPress. Posts are distinct from <a href=\"#Page\">pages<\/a> in that they&#8217;re listed in archive pages and your main blog page. If you&#8217;re a blogger, posts will be the lifeblood of your site.<\/p>\n<h3>Post Format<\/h3>\n<p>Post format is a <a href=\"#Taxonomy\">taxonomy<\/a> that you can use to display your posts in different formats. By creating <a href=\"#TemplateFile\">template files<\/a> for different post formats you can show things like video, quotes, images and text differently.<\/p>\n<h3 id=\"PostType\">Post Type<\/h3>\n<p><a href=\"https:\/\/wpmudev.com\/blog\/creating-content-custom-post-types\/\" target=\"_blank\">Post types<\/a> are different types of content that you use for different purposes. WordPress comes with a number of\u00a0post types available to you by default. These are:<\/p>\n<ul>\n<li><a href=\"#Post\">Posts<\/a><\/li>\n<li><a href=\"#Page\">Pages<\/a><\/li>\n<li><a href=\"#Attachment\">Attachments<\/a><\/li>\n<li><a href=\"#NavigationMenu\">Navigation menu<\/a> items<\/li>\n<li><a href=\"#Revision\">Revisions<\/a><\/li>\n<li>Links (if you\u2019re using the blogroll feature)<\/li>\n<\/ul>\n<p>You can also add your own by <a href=\"https:\/\/wpmudev.com\/blog\/creating-content-custom-post-types\/\" target=\"_blank\">registering a custom post type<\/a>. To do this, use the <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/register_post_type\" target=\"_blank\"><code>register_post_type()<\/code><\/a> function, which you add to your own function defining the arguments for your post type such as its name and how it behaves.<\/p>\n<p>Many plugins create custom post types for bespoke content such as products for e-commerce sites, forms to add form functionality and galleries for displaying\u00a0images.<\/p>\n<h3 id=\"Revision\">Property<\/h3>\n<p>In <a href=\"#ObjectOrientedProgramming\">Object Oriented Programming<\/a>, a property is a variable you use with <a href=\"#Method\">methods<\/a> to store and output data.<\/p>\n<h3 id=\"Query\">Query<\/h3>\n<p>WordPress runs a query every time it access the database and fetches content to output. So every page on your site will be populated by a <a href=\"#Query\">query<\/a>, which is coded via the <a href=\"#Loop\">loop<\/a>.<\/p>\n<p>WordPress automatically queries the correct content depending on what&#8217;s being viewed. So if you&#8217;re looking at a single post, the code in the loop will fetch that post, while if you&#8217;re looking at an archive page the loop will run over and over again until it&#8217;s output all the posts it needs to on that page.<\/p>\n<p>You can also add custom queries to pages to display\u00a0extra posts, or you can alter the main query to change what&#8217;s displayed. Find out which methods you should (and shouldn&#8217;t) use to do this in <a href=\"https:\/\/wpmudev.com\/blog\/creating-custom-queries-wordpress\/\" target=\"_blank\">our guide<\/a>.<\/p>\n<h3>Revision<\/h3>\n<p>A revision is a version of a post (or page etc.) that&#8217;s stored in the <a href=\"#Database\">database<\/a> in case you need to revert to it at a later date. This can be useful if you accidentally delete some content for your post or something else goes wrong.<\/p>\n<figure class=\"wp-caption alignnone\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/revisions.png\" alt=\"Post revisions metabox\" width=\"670\" height=\"414\" \/><figcaption class=\"wp-caption-text\">Post revisions are listed in the post editing screen<\/figcaption><\/figure>\n<div  class=\"wpdui-pic-regular  \"> <\/div>\n<p>WordPress automatically saves\u00a0revisions for you at set time intervals but you also create a revision every time you update your post or save a draft.<\/p>\n<h3 id=\"Role\">Role<\/h3>\n<p>A user <a href=\"https:\/\/codex.wordpress.org\/Roles_and_Capabilities\" target=\"_blank\">role<\/a> defines what that user is able to do on your site. The default roles that come with WordPress are:<\/p>\n<ul>\n<li><a class=\"mw-redirect\" title=\"Super Admin Menu\" href=\"https:\/\/wordpress.org\/support\/article\/network-admin\/\" rel=\"noopener\" target=\"_blank\">Super Admin<\/a>\u00a0&#8211; can manage a Multisite network of sites (only relevant if Multisite has been activated).<\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/article\/roles-and-capabilities\/\" rel=\"noopener\" target=\"_blank\">Administrator<\/a>\u00a0&#8211; can manage a single site in a standard WordPress installation or a site within a Multisite network..<\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/article\/roles-and-capabilities\/\" rel=\"noopener\" target=\"_blank\">Editor<\/a>\u00a0&#8211;\u00a0can publish and manage posts including other people&#8217;s posts. They can&#8217;t manage site settings.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/article\/roles-and-capabilities\/\" rel=\"noopener\" target=\"_blank\">Author<\/a>\u00a0&#8211;\u00a0can write, publish and manage their own posts but no-one else&#8217;s.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/article\/roles-and-capabilities\/\" rel=\"noopener\" target=\"_blank\">Contributor\u00a0<\/a>&#8211;\u00a0can write and manage their own posts but cannot publish them. They submit them for an Editor or Administrator to review and publish.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/support\/article\/roles-and-capabilities\/\" rel=\"noopener\" target=\"_blank\">Subscriber<\/a>\u00a0\u2013 can&#8217;t add content but can view content you&#8217;ve restricted to subscribers or make comments if that&#8217;s restricted too.<\/li>\n<\/ul>\n<p>Each role has a set of <a href=\"#Capability\">capabilities<\/a> which define exactly what the user\u00a0can do. You can edit a user role by adding or removing capabilities, or you can create new roles using the <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/add_role\" target=\"_blank\"><code>add_role()<\/code><\/a> function.<\/p>\n<h3 id=\"SALTKeys\">SALT Keys<\/h3>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Salt_(cryptography)\" target=\"_blank\">SALT<\/a> keys are added to your <code>wp-config.php<\/code> file to add a layer of security to your site. These are secret keys without which WordPress won&#8217;t work. There are four of them:\u00a0AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, and NONCE_KEY.<\/p>\n<p>These work by preventing hackers from accessing the cookies that store data about your site (such as login credentials). You should refresh them on a regular basis &#8211; roughly\u00a0every two months. Our\u00a0security plugin like <a href=\"https:\/\/wpmudev.com\/project\/wp-defender\/\" target=\"_blank\">Defender<\/a> makes this easy.<\/p>\n<h3 id=\"Sanitization\">Sanitization<\/h3>\n<p><a href=\"https:\/\/codex.wordpress.org\/Validating_Sanitizing_and_Escaping_User_Data\" target=\"_blank\">Sanitization<\/a> is the process of cleaning\u00a0input data before it&#8217;s saved. For example, if you add a <a href=\"#MetaBox\">meta box<\/a> in the post editing screen with a text box, you\u00a0use a sanitization function to ensure any text input to it\u00a0is stored in the correct format.<\/p>\n<p>So if you&#8217;re saving an email address, sanitization will ensure that it&#8217;s stored correctly and will come out of the database as an email address when it&#8217;s output elsewhere.<\/p>\n<p>Sanitisation follows <a href=\"#Validation\">validation<\/a>, which is about checking that inputs have been entered correctly.<\/p>\n<h3 id=\"Settings\">Settings<\/h3>\n<p>Settings are the configurations you make to your site or to plugins to get them working the way you want them to. There are a number of settings screens in WordPress, and plugins and themes may add their own settings screens too (although a modern theme is more likely to use the <a href=\"#Customizer\">Customizer<\/a>).<\/p>\n<p>You access your site settings screens via the <strong>Settings<\/strong> menu in the admin. They&#8217;re also referred to as <a href=\"#Options\">options<\/a>.<\/p>\n<h3 id=\"Shortcode\">Shortcode<\/h3>\n<p>A shortcode is some text inside square brackets that\u00a0you add to your posts, which then outputs or runs some code. Shortcodes can enclose text you add (<em>[myshortcode]Enclosed text[\/myshortcode]<\/em>), they can stand alone (<em>[myshortcode]<\/em>), or they can have parameters (<em>[myshortcode number=&#8221;10&#8243;]<\/em>).<\/p>\n<p>To <a href=\"https:\/\/wpmudev.com\/blog\/create-shortcodes\/\" target=\"_blank\">create your own\u00a0shortcodes<\/a>, write a plugin using the <a href=\"https:\/\/codex.wordpress.org\/Shortcode_API\" target=\"_blank\">Shortcode API.<\/a><\/p>\n<h3 id=\"Stylesheet\">Stylesheet<\/h3>\n<p>The stylesheet is a <a href=\"#Theme\">theme<\/a> file which includes all of the CSS styling for the theme. It also contains essential information on the theme such as its name, author and version. It&#8217;s one of the two files every theme must contain.<\/p>\n<h3 id=\"Tag\">Tag<\/h3>\n<p>Tag is a built-in taxonomy within WordPress. Use it to identify posts on specific topics, in more detail than you would with <a href=\"#Category\">categories<\/a>. You wouldn&#8217;t normally use tags to structure your site but instead you&#8217;d use a tag cloud <a href=\"#Widget\">widget<\/a> to let visitors find posts with a given tag.<\/p>\n<p>Tags aren&#8217;t hierarchical so they can&#8217;t have parent or child tags.<\/p>\n<h3 id=\"Taxonomy\">Taxonomy<\/h3>\n<p>A taxonomy is a classification of your posts (of whatever post type). WordPress comes with four built-in taxonomies:<\/p>\n<ul>\n<li><a href=\"#Category\">Categories<\/a><\/li>\n<li><a href=\"#Tag\">Tags<\/a><\/li>\n<li><a href=\"#PostFormat\">Post formats<\/a><\/li>\n<li>Link categories (which apply to links in the blogroll if you\u2019re using it).<\/li>\n<\/ul>\n<p>You can also <a href=\"https:\/\/wpmudev.com\/blog\/creating-content-taxonomies-and-fields\/\" target=\"_blank\">add your own custom taxonomies<\/a>, which you can apply to existing post types such as posts, pages our attachments, or to new custom post types that you register. You do this using the <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/register_taxonomy\" target=\"_blank\"><code>register_taxonomy()<\/code><\/a> function.<\/p>\n<p>Taxonomies can behave in different ways. Some (e.g. categories) are hierarchical, so each taxonomy <a href=\"#term\">term<\/a> can have a parent. Others (e.g. tags) are non-hierarchical so their terms are in a flat structure. When you register a taxonomy you can specify\u00a0whether or not it&#8217;s hierarchical.<\/p>\n<h3 id=\"TemplateFile\">Template File<\/h3>\n<p>A template file is a file within your <a href=\"#Theme\">theme<\/a> that&#8217;s used to output content on a page of your site. Every theme must include one template file: <em>index.php<\/em>. Most themes also include template files for specific content types, like <em>page.php<\/em>, <em>archive.php<\/em> and <em>single.php<\/em>.<\/p>\n<p>WordPress decides which template file to use to display content on a given page according to the <a href=\"#TemplateHierarchy\">template hierarchy<\/a>.<\/p>\n<h3 id=\"TemplateHierarchy\">Template Hierarchy<\/h3>\n<p>The template hierarchy is the system WordPress uses to identify which <a href=\"#TemplateFile\">template file<\/a> to use when displaying a given page on a site. Some template files are more specific\u00a0to individual\u00a0content types than others: WordPress will work through them in descending order of specificity until it finds one in\u00a0your theme. This means that if your them doesn&#8217;t have a template file for a specific\u00a0content type, it will fall back to a more generic file, ultimately defaulting to <em>index.php<\/em>.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670 size-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/template-hierarchy.png\" alt=\"WordPress template hierarchy\" width=\"670\" height=\"439\" \/><figcaption class=\"wp-caption-text\">The WordPress template hierarchy<\/figcaption><\/figure>\n<\/div>\n<p>So, for example, if you open the archive of all posts with the <a href=\"#Term\">term<\/a>\u00a0<em>dog<\/em>\u00a0in a <a href=\"#Taxonomy\">taxonomy<\/a> called <em>animal<\/em>, WordPress will work through the template hierarchy in this order, using the file it finds first:<\/p>\n<ol>\n<li><em>taxonomy-animal-dog.php<\/em><\/li>\n<li><em>taxonomy-animal.php<\/em><\/li>\n<li><em>taxonomy.php<\/em><\/li>\n<li><em>archive.php<\/em><\/li>\n<li><em>index.php<\/em><\/li>\n<\/ol>\n<h3 id=\"TemplatePart\">Template Part<\/h3>\n<p>A template part is a <a href=\"#Theme\">theme<\/a> file that contains the code for just one part of a template file. You use this to store code that you want to use in multiple <a href=\"#TemplateFile\">template files<\/a>, such as the header (<em>header.php<\/em>), sidebar (<em>sidebar.php<\/em>) and footer (<em>footer.php<\/em>). You can call each of these with <code>get_header()<\/code>, <code>get_sidebar()<\/code> and <code>get_footer()<\/code> respectively, in your template files.<\/p>\n<p>You can also use a template part in other places in a template file, for example to pull in the code for the <a href=\"#Loop\">loop<\/a>. To do this you use the <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_template_part\/\" target=\"_blank\"><code>get_template_part()<\/code><\/a>\u00a0function. Doing this makes your code more efficient as you&#8217;re not repeating the same code in multiple template files.<\/p>\n<h3 id=\"TemplateTag\">Template Tag<\/h3>\n<p>A template tag is a kind of <a href=\"#Function\">function<\/a> designed to be used in theme <a href=\"#TemplateFile\">template files<\/a>. It often\u00a0fetches and displays data, such as the site name or description.<\/p>\n<h3 id=\"Term\">Term<\/h3>\n<p>A term is an item in a <a href=\"#Taxonomy\">taxonomy<\/a>. So if you&#8217;ve added some <a href=\"#Category\">categories<\/a> to your posts, each of those categories is a term in the category taxonomy.<\/p>\n<p>You can add taxonomy terms by going to the taxonomy editing screen (e.g. <strong>Posts &gt; Categories<\/strong>) or by adding them when you&#8217;re editing a post.<\/p>\n<h3 id=\"Theme\">Theme<\/h3>\n<p>A theme is a set of files that WordPress uses to output content. It will always include at least two files: <em>style.css<\/em> and <em>index.php<\/em>. The stylesheet is necessary as it includes essential information about the theme and also adds styling to your site. The <em>index.php<\/em> file includes code such as the <a href=\"#Loop\">loop<\/a> which is used to fetch data from the <a href=\"#Database\">database<\/a> and display it on the page, plus <a href=\"#TemplateTag\">template tags<\/a> and other functions which will output other data and media as well as adding interactions.<\/p>\n<p>Most themes include plenty more files: the\u00a0<em>header.php<\/em>, <em>sidebar.php<\/em> and <em>footer.php<\/em>\u00a0<a href=\"#TemplatePart\">template parts<\/a> which output parts of the page that are common to every page, plus other template files for specific content types such as archives, pages and single posts. WordPress chooses which one to use with reference to the <a href=\"#TemplateHierarchy\">template hierarchy<\/a>.<\/p>\n<h3 id=\"Query\">Widget<\/h3>\n<p>A widget is something you can add to a widget area in your site (e.g. in the sidebar or footer) without writing any code. You can do this by going to<strong> Appearance &gt; Widgets<\/strong> in the admin or via the <a href=\"#Customizer\">Customizer<\/a>.<\/p>\n<div  class=\"wpdui-pic-regular  \">\n<figure class=\"wp-caption aligncenter\" data-caption=\"true\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-670x670 size-670x670\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2016\/09\/widgets.png\" alt=\"customizer - editing widgets\" width=\"670\" height=\"407\" \/><figcaption class=\"wp-caption-text\">You can edit widgets in the Customizer<\/figcaption><\/figure>\n<\/div>\n<h3 id=\"Validation\">Validation<\/h3>\n<p>Validation is\u00a0the process of checking that data is valid before it&#8217;s saved to the database. You add validation functions whenever you&#8217;re coding some sort of input such as a text box.<\/p>\n<p>For example, if the user is required to input an email address, validation will check that it looks like an email address, i.e. that it&#8217;s in the correct format. If it isn&#8217;t, it won&#8217;t be accepted and the user will see an error message. Once data is validated it should be <a href=\"#Sanitization\">sanitized<\/a>.<\/p>\n<h3>Is That Everything?<\/h3>\n<p>WordPress has hundreds of terms that you may or may not need to get to trips with depending on how you&#8217;re using it. Here I&#8217;ve tried to include everything that the majority of people will need to know.<\/p>\n<p>If there&#8217;s anything that&#8217;s stumped you leave a note in the comments and if enough people ask for something I&#8217;ll add a definition!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A lot of posts on this blog\u00a0attempt to explain WordPress concepts and terminology, or at least those\u00a0that are relevant to the post. And the WordPress Codex does a great job of\u00a0explaining the concepts used by WordPress. But following lots of questions I&#8217;ve seen in comments on posts asking for definitions and explanations, I thought it [&hellip;]<\/p>\n","protected":false},"author":347011,"featured_media":159526,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[235],"tags":[10541],"tutorials_categories":[],"class_list":["post-159296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-misc","tag-wordpress-terminology"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/159296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/347011"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=159296"}],"version-history":[{"count":33,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/159296\/revisions"}],"predecessor-version":[{"id":206727,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/159296\/revisions\/206727"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/159526"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=159296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=159296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=159296"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=159296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}