Enterprise WordPress
Enterprise WordPress
Themes
While it is possible to run a WordPress site without a theme in most cases you will need to install a Parent Theme. To make changes to your theme best practice is to create a Child theme. Using a Child theme allows you preserve you site changes if the Parent theme is updated.
There are over 50,000 WordPress themes publicly available and an untold number of privately created custom themes. There are both free and paid (premium) themes in the available. These are generally categorized as Canned, Framework, Bare-bones.
Canned Themes are created by Theme designers and offer instant design layout for your site. Changes to the site maybe be offered through a customizer or use of a child theme. These themes might be created for a specific category of site such as Photography, Restaurant, or a Business Directory. The themes might be themed by a genre like fantasy, Dark or Pastel. Many static themes include extra features such as galleries, SEO benefits or Theme Specific Customizers. The only disadvantage to static themes is the design, site HTML, CSS and scripting is predetermined. If you want to make major changes to the site structure can be large project depending on the theme and defeats the purpose of installing a static theme.
Framework Themes like Thesis and Genesis offer features for the creation of site layouts in WordPress. These themes often have custom action and filters for hooking into and manipulating the template DOM structure. Some like Genesis have a settings menu in the Admin Dashboard for other development needs such as SEO, Sidebar Layout and Scripts placement and execution. The main drawback to these themes is that the page structure is still determined and you are making a lot of action calls in the Php, creating hackneyed CSS, or JavaScript DOM manipulation to accomplish relatively minor changes.
Bare-boned Themes aka Theme Boiler Plates carry only the essential CSS and HTML required to present the complete WordPress template hierarchy. As a developer you use these themes as a starting point for the creation of a new theme. The main advantage to starting with a custom theme is you care confident that your site is marked up exactly the way you want it. Integration of other Web Technologies like CSS Pre-Processors and Front-End frameworks like Angular or Bootstrap is a snap.
Content Types
WordPress started as a Blogging platform and evolved in to a Content Management System with a comprehensive set of content types defined in the core. Holding on to its roots as a blogging platform the defined WordPress content types are called Post Types:
Post: | A time based entry that supports category and tag taxonomy terms. |
Page: | An entry that has a hierarchical structure and by default it does not have taxonomy. |
Attachment:. | A special entry for files uploaded through the WP media upload system. A corresponding entry is entered in the wp_postmeta table for meta-information |
Revision: | An entry used to hold drafts and revision history. |
Navigation Menu: | These types hold information other entries for purposes other than display. These are used in the WP Navigation system. |
Custom CSS: | A theme specific entry for storing information entered on the Customizer’s “Additional CSS” screen. |
Changesets: | Sort of Like an Auto-Save when working with the WP Theme Customizer. This is useful when your cat decides to turn on the microwave and uses the blow dryer at the same time; trigging the circuit breaker. |
Custom Post Type or CPT: | This is where you can create your own content types. The register_post_type() function parameters allow you to define the labels for the Admin Dash Display and which Post Type features your content supports such as taxonomy or hierarchy. |
Plugins
The WP Plugin architecture is a way to extend the functionality of WordPress. WordPress is installed with 2 plugins by default.
The first plugin Akismet is a spam abasement. To use Akismet you must first get a Key. The key cost money, however, it is well worth the time and money. While the stated purpose of Akismet is to check your comments, it is far more powerful. I like to use Akismet for testing the entries in forms before acting on them.
There Second Plugin Hello Dolly is pretty much useless. The first thing you have to do after installing WordPress is delete this plugin.
The number of plugins available for WordPress is mind boggling. There are a great number of plugins just to handle simple tasks such as hiding the Admin Bar from the front end. More Complex plugins like WooCommerce, Buddy Press, or BBPress can instantly change WordPress from a CMS/Blogging platform into a full fledged E-Commerce System, Social Networking Platform or a Forum Site.
Like Themes, WordPress Plugins can be free or paid. When choosing a plugin you must beware that you are accepting the code of the plugin developer. There are best practices for plugin development, however, not all plugin developers follow these.
[bs_alert bs_colors=”danger”]If the plugin affects the public side of the site a plugin might cause script conflicts, mark-up issues, styling issues.[/bs_alert]
This is not to say all plugins are evil or bad. Some plugins can save you a great deal of time and accomplish a task so well that I include them on pretty much every site I build.
When you consider how easy it is to create a plugin a good set of guidelines are:
- Unless it is system like Woo Commerce and changes the public facing side of your website; consider adding the functionality code to your own plugin.
- If the plugin uses resources that are not a part of your global site architecture such as jQuery UI then consider writing you own code.