My pages and posts were riddled with shortcodes and custom post types unique to my theme. Making a change to another theme a year or two down the road would be near impossible.
Shortcodes are pieces of WordPress specific code that plugins can use to output content anywhere you place them in text editors. They are great for adding in occasional plugin content like contact forms or a read more button. If used to generate the entirety of the page’s layout however they end up looking like the picture. They should be used sparingly and not to determine the entire layout of the page.
An example of excessive use of shortcodes. Shortcodes are best used sparingly
- There is some separation between content and style since shortcodes are generated by plugins.
- The worst thing that can happen is that the client deletes a bracket and the line of shortcode is output as is. Or a parameter gets deleted and the shortcode is output with a 404 in it.
- They’re relatively easy to use when compared to Html/Css
Users, here’s what theme developers are not telling you: By using their theme’s shortcodes, they are essentially locking you into using their themes forever.
- Custom styles are still spread out among all your plugins. You either have to settle for their default styles or put custom ones in the text editor which brings us to the same problem of no dynamic styles. The only way you can unify the styles is to override their styles in your theme at which point you can probably just build the theme yourself.
- If you wanted to have several pieces of content or content created by different plugins you would have to get shortcodes from every single plugin and put them in your editor. Your layout would be determined by the order of the shortcodes. It can easily end up looking like a big mess that your client wouldn’t want to edit.
- You if you wanted to modify the content or add a page you have a two step process of having to go to your plugin, change the content then get the shortcode and paste it into your editor. Overall bad ux.
- You’re at the mercy of third party plugins for the majority of your content. If the plugins are badly written or stop being supported you lose a lot of functionality
- If you wanted to switch plugins you would have to hand upload each piece of content to the site again.