Buckets: A WordPress Widgets Alternative For Placing Content Anywhere

photo credit: mcfcrandall via photopin cc
photo credit: mcfcrandall via photopin cc

Buckets is a plugin that has been providing an alternative to WordPress widgets for the past two years. Created by plugin developer Matthew Restorff, Buckets allows you to create reusable pieces of content and place them anywhere on your WordPress site.

When describing his motivation for creating Buckets, Restorff says that the plugin was meant from the beginning to be an alternative to widgets. “I was tired of the pitfalls of standard WordPress widgets,” he said. “[pullquote]I wanted a way of creating reusable content that offered more control for the developer and better ease of use for the client.[/pullquote]”

Buckets turned out to be much easier for his clients to use, compared to widgets. Here’s a quick walkthrough of how it works:

Once installed, Buckets has its own menu where you can go to create new content:

bucket-example

This looks and works just like the WordPress post editor. Create some content and click ‘Publish’. When you navigate back to your list of Buckets, it will show you a shortcode for each.

[bucket id="946" title="Address"]

You can then paste the shortcode wherever you want the content to appear. It works inside posts, pages, custom post types, widgets and even inside another bucket. With the latest version, you don’t even need to know the shortcode, because buckets can be inserted into content using a button in the TinyMCE editor.

Buckets become even more powerful when paired with the Advanced Custom Fields plugin. This plugin allows you to create your own sidebars and add new fields to further customize your Buckets, thereby making WordPress fully modular. It is required in order to make use of some of Bucket’s more advanced functionality.

How are Buckets different from widgets?

medium_10642583Buckets are very similar to widgets but with a few important distinctions that make them more flexible:

  • Designed to create content that is easy to reuse in multiple places
  • Bucket creation includes ability to use the visual editor and media manager
  • Content can be used anywhere, not limited to widgetized areas

Recent Major Improvements to Buckets

I caught up with Matthew Restorff to find out what kinds of improvements he’s added to the plugin recently. Here are a few of the highlights:

  • Button added to the TinyMCE so users can now insert buckets into their content without shortcodes
  • Buckets listing page now displays the pages where you have placed buckets
  • On page editing/adding so you can edit your entire page’s content without leaving the page

Many of the changes to the plugin have come directly from feedback provided by Restorff’s clients. He continues to maintain the plugin, because it helps his clients to be more independent. “I’m a huge advocate of making things easier on the client so they can keep their sites up to date,” he said. “[pullquote]I love the idea of someone with not much experience being able to maintain a really robust website.[/pullquote]”

A New Way of Looking at WordPress Content Management

I am intrigued by the idea of Buckets, because it provides a new way of looking at WordPress. Traditionally, we let themes dictate the widgetized areas where the user can easily drop in dynamic pieces of content. With Buckets and Advanced Custom Fields working together, you wouldn’t need sidebars or widgets at all, in theory, although they do help to keep a design more uniform. Buckets gives you full control of where you want content to be placed. You’re not limited by what your theme offers you in terms of sidebars.

If widgets just aren’t flexible enough for you, or if they prove to be too confusing for your clients, consider giving Buckets a try. If you install this plugin, you’ll still be able to use your widgets in addition to Buckets. The two do not conflict. Buckets has received all 5-star reviews on WordPress.org so far. Documentation for the plugin can be found in this Google doc.

24

24 responses to “Buckets: A WordPress Widgets Alternative For Placing Content Anywhere”

  1. It sounds like “buckets” are glorified post_content shortcodes. You’d use ACF to create layout regions, then insert Bucket shortcodes into the desired regions. If you want to show a Bucket on 20 pages, then you’d need to edit all 20 pages (or create a custom template with hard-coded shortcodes).

    Is that the case? If so, wouldn’t this be a maintainability nightmare?

    • On the contrary, I think it would be quite easy to maintain. Let’s say you have a bucket in place in 20 different areas. If you have to update that content, you only need to do it in one place. That content may reside within widgets, on pages, in custom post types, etc. They could be scattered throughout the site but you only have to update the bucket in one place. Also, no they are far more than just glorified text widgets – you can put any kind of content in there, including HTML formatting and media – anything you could put in a post you can put in a bucket.

      • “They could be scattered throughout the site” is exactly the problem.

        You’re referring to ease of content editing, I’m talking about the perils of layout and organization. I’d argue that there should be a clear separation between content and layout. This plugin blurs the lines to the point where sites will end up with hundreds of (eventually orphaned) shortcodes scattered haphazardly throughout a site.

        • If you use strictly shortcodes that can be the case, but that’s somewhat the case with ANY shortcode plugin. However, on the buckets list page I actually list out the pages that contain the shortcode on them, that way before you delete something you know if it’s being used or not! I was thinking ahead, I’ve come across this problem too. It’s also handy for deleting any buckets that aren’t in use.

          There is also the actual Buckets Sidebar field. This doesn’t use shortcodes, the buckets list page also shows what pages these are being used on as well.

          Here’s a screenshot to show what I’m talking about: http://i.imgur.com/wpGyIwL.png

          It shows you the page it exists on and you can click it to go right there to remove it or edit it. Hope that helps!

    • I checkout that plugin. If you copy and paste the shortcode for the MaxButton into a Bucket it works fine. What’s not working is their TinyMCE button auto pasting the shortcode. I think the reason this is, is how they are actually inserting code into the TinyMCE editor. Since this is an ACF field it’s a slightly modified version of the default TinyMCE editor. So it has to do with an incompatibility with that. You could talk to the plugin creator maybe they can modify how they are inserting their shortcodes.

      This is what I use:

      tinyMCE.execCommand(‘mceInsertContent’,false,'[bucket id=”‘ + id + ‘” title=”‘ + title + ‘”]’);

  2. If you’re using this, do consider the Spots plugin as well, which has also been around a while but appears to have additional features such as allowing themes to declare a set of spots that can be content managed outside of the widgets area which means content that is in widgets doesn’t have to be an admin only task. Very handy. Also has a nice widget.

  3. I’d also give a vote to using the Spots plugin.

    I use it on loads of sites for similar tasks as Buckets is trying to solve but you can apply different template files to each spot, include them in widgets or output with shortcode or template tags.

    Spots also has caching built in which is a nice touch.

    Support is excellent for the Spots plugin too.

  4. This is cool, that’s what we did with Content Blocks (http://wordpress.org/plugins/sizeable-content-blocks/) and made things even more flexible with Content Tags (http://wordpress.org/plugins/sizeable-content-tags/).

    Nice work! Looks like Buckets has a nice following and similar functionality. Blocks are just general ways of creating re-usable and flexible content and Tags are a method of relating all content types within a user-defined context.

    We use them all the time!

  5. The issue with using any plug-in that achieves the admirable goal of making a WP installation highly customizable and less “template looking” is… if it stops getting supported, the site is screwed. Nobody wants to stop getting security updates to the core because the site depends on a plug-in. While many of us who work in the web industry realize “by the time it stops working, you probably need a new site anyway” a lot of our smaller clients still don’t understand the web as an organic, evolving entity .

  6. Basically, this plugin create a “virtual post content” which acts exactly like post content (parse) and can display anywhere via shortcode. This is good idea. But it sounds similar to Shortcode Pro (http://wordpress.org/plugins/shortcodes-pro/) or Shortcoder (http://wordpress.org/plugins/shortcoder/), which allow people to create any shortcode with any kind of content and they also integrate with TinyMCE.

    • It does but the shortcode method is just one method of placing the content where you want. And honestly it’s the least used method I use. The main method is a special ACF field you can use to output them as well. So you select the Buckets you want you can drag and reorder them easily. No shortcodes needed, which tends to be the easiest for clients. Then in your template you just designate where you want to output them with a snippet of ACF code.

      • Matt,
        Is the github version up to date with WP3.9 ? It made all the Visual editors break in my admin (text editor was fine).
        I own ACF content field so this feature would be really neat.
        Will you update it with ACF 5 when it releases? (I’d like to use Bucket for my themes)

        • I’m pretty sure it’s not up to date. The WP repo is the best place. I started converting for ACF5 but I’m on the road for a couple weeks and my internet is limited. I will get it ready as soon as I can!

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.