Working with a complex WordPress site can be pretty daunting at first. While its popularity stems from its ease in backend usage, once additional, custom features or plugins are added, it can be tough to navigate. Due to this, having a deeper understanding of the internal workings of WordPress is to your advantage. There are multiple ways of achieving the same output for website visitors, so it is beneficial to know the name for the type of functionality you want. Consider this a quick WordPress vocabulary lesson.
Widgets are bits of code that have a dynamic output in a specified place in the theme, called a "Widget Area.” For example, most themes have a widget area in the sidebar which allows you to choose what is displayed. Some of the default options include a search box widget, posts from various categories, and an archive of posts organized by date. In WordPress, widgets and widget areas will appear in the Appearance > Widgets page.
You can drag and drop different widgets into widget areas. Many plugins allow you to display output via a widget. If you use a plugin that does this, it is important to realize that you can only display this output in the defined widget areas. If you would like to change the location of a widget, a developer can do this by customizing the appropriate template file.
Shortcodes are custom tags you can use to trigger custom code in a place that would normally contain a static output. For instance, some themes include a “column” shortcode, which wraps the content in custom HTML to format the text in a specific way. Within the WYSYWIG editor, it would be used like this:
[column] This is example content within a shortcode [/column][column] This is some more content [/column]
In a theme which uses this shortcode, these would be formatted as multiple columns within the content section. Many plugins will use the shortcode API rather than the Widget API if they are meant to be used within the content of a post, rather than as part of the template.
Custom Post Types
If you have used a basic WordPress site, you are probably familiar with the difference between "Posts" and "Pages". However, what you may not realize is that in the internal workings of WordPress, pages and posts are handled in a similar fashion. A page is actually a "custom post type," sometimes abbreviated as "CPT". WordPress allows you to define Custom Post Types and write programs to allow these to behave differently from other post types. You can define custom templates to display the contents of your Custom Post Type in a way that matches the content, so if you have different kinds of content that you want to be displayed in different ways, sometimes a custom post type can help.
In addition, any plugins use Custom Post types as their basis if they need to be able to store a certain kind of information. For instance, most ecommerce plugins with use a “product” CPT which will allow different templates to be used that highlight product photos and have special functions like an “add to cart” link.
These are just a few of the many ways WordPress offers to access and display your content in a customizable way. They are designed to be flexible from a developer's perspective and easy to use from a content manager's perspective.