AD
Episode
296
Interview
Web News

WordPress Is a No-Code Tool That Requires Coding

Recorded:
March 5, 2024
Released:
March 19, 2024
Episode Number:
296

WordPress is a very popular tool for making websites that can be easily extended to get the job done. While the original focus of WordPress was blogs, over time other websites started being created with it through the use of plugins like WooCommerce (eCommerce sites), ACF (dynamic data-driven sites), and Elementor (sites that can be built visually). This versatility fuels WordPress' continued popularity, but also brews a community that believes it's a bloated and dated tool. Having recently make a website with WordPress, Matt takes us through a deep dive of what he believes is an identity crisis stemming from Gutenberg/FSE, no built-in disaster recovery, and limitations forcing the use of multiple plugins.

Listen

Also available on...
...and many more, check your podcast app!

Who’s in This Episode?

Show Notes

How to support the show

Patreon

Prices subject to change and are listed in USD

  • Support the show from as little as ~$1/month
  • Get a shoutout at the end of the episode (while supplies last) for just ~$3/month
  • Help support the HTML All The Things Podcast: Click Here

Learn with Scrimba

We receive a monetary kickback when you use our link

  • Learn to code using Scrimba with their interactive follow along code editor
  • Join their exclusive discord communities and network to find your first job!
  • Use our affiliate link to learn more


Show Notes

Hitting limits you never expected

  • Situation: I have two custom post types. One called facilities and another called activities. Activities happen in particular facilities. I created a relationship field on the facilities post type, that allows you to select activities. I’d like to show the activities dynamically on the individual facility pages
  • Limitations/Issues:
    • I can show all activities on a page, or filter by post term (ie taxonomy) but that would filter the activities the same way for every facility (using the posts/loop Elementor widget)
    • Can’t use a relationship field to filter without a premium plugin (Elementor, ACF), or a free advanced 
  • No date range in ACF
  • Can display an array of related photos that were uploaded to an ACF field in a gallery but it will only display one in the editor
    • The related photos are only shown as related inside the Media section of the admin area

Disabling comments

Source: How to Disable Comments in WordPress (hubspot.com)

  • There are built-in ways to disable comments in WordPress…but not globally
  • From the article…
    • “Did you know that even after disabling comments on your posts and pages, your media files will continue to be open for comments? You can do so by altering some source code.”

No built-in disaster recovery

  • WordPress white screen of death is easy to bring upon yourself
  • Commonly happens due to:
    • Updates (plugins and/or WordPress)
      • Plugins can easily be set to auto-update…ticking time bomb
    • Plugin conflicts
    • Custom coding errors
      • Pain point here: With some basic features requiring custom code, a simple syntax error can take down your whole site. You can edit the functions.php file from the CMS, but if you make a mistake you’ll need server access to get in there and fix it as WordPress is effectively defunct
  • Possible solutions:
    • Update rollbacks for plugins and WordPress
    • Some sort of “safe-mode” where you can access a mini-CMS of WordPress to disable plugins and/or edit functions.php to remove your previous changes
    • Note: I understand these sort of recovery tools are easier said than done and that it may take up a lot of storage space on hosting, but giving users the option of having their web developer setup these built-in tools (if they existed) so that users can recover from a “simple disaster” would be huge

Identity Crisis: Gutenberg (Full Site Editing - FSE)

  • Introduced in 2018 to WordPress, offers a way to build pages with blocks. Blocks contain your content like images, text, buttons, etc.
  • Gutenberg makes WordPress feel like it’s trying to be a modern website builder on top of a publishing platform (blog posts), but without some basic abilities that I’ve already described (disaster recovery, comment turn-off, random limits)
  • Many FSE users will install a plugin to add more block options
  • Why is FSE here if you’re “expected” to use custom code for a lot of basic functions
  • Personal preference:
    • My preferred CMS UX for myself and my clients is fill-in-the-blank and this is why:
      • Easier to edit using simple fields on mobile
      • Fill-in-the-blank is fast to fill in and ready-made forms like this are easy to gather details for (ie your client has internal events, they know that their events should go on the site, and they need to fill in the date/time, location, upload a brochure)
      • Yes FSE does provide templates for pages that can automatically apply to particular post types and there are some options to lock things down more so that users can’t just access any blocks they’d like…but FSE doesn’t look like a simple form that people are used to editing
      • Instead of locking down templates and fields in FSE, it just makes sense to use the classic editor as the fields themselves are already non-removable and you can make them dynamically required or optional
  • Why did they make FSE without baking in basic features?
    • “Edit your whole site, but if you make a mistake, get a technician to come in - instead of disaster recovery”
    • “Control whether you’re running a blog/site with community or not (comment), but you can’t turn off comments entirely”
    • “Custom code happy & friendly…but if you make a mistake, no disaster recovery”
      • If you’re just supposed to “code it up” then why use WordPress?


Links

  • Michael LaRocca