1. Matt

    Thanks for the write up, Sarah.

    I can see some of the learning curve, like creating the button in the customizer, as it might be new for some theme users. Even though it’s only two steps (create a link, and format it) it’s unfamiliar territory for most WP users to be formatting in the live front-end view. Many of us are accustomed to the old way theme devs create static blocks of content, and feed us a bunch of input boxes in the dock area to fill out. We’re aiming for a point and click customizer experience w/ drag-n-drop, adhering to “the WordPress way.”

    I think that’s probably the most overlooked part of this write up, the flexibility of the Note widget. Again, while most themes only give you 3 – 4 columns and 1 row, we provide 1 – 6 columns & 1 – 10 rows in a repeatable widget, with varying displays. While it might seem insignificant, I can’t tell you how many complaints we get from other themes that say “you must have 4 services, or else!”

    Of course, I’m bias, but I feel the Note plugin can be used to solve these issues across any theme — not just ours. A few devs and other small theme shops have used Note in this way. Baton is a great showcase for the plugin, if nothing else. We’ll continue to provide improved docs and tutorials!


  2. Weston Ruter

    @matt I noticed that the Note widget doesn’t appear to support selective refresh. If I change the title of the widget in the customizer controls then the entire preview refreshes. Similarly, the entire preview refreshes if I change the template for the note widget. Is that something you’re working on? Ideally changes to the widget would only refresh just the container for the widget since it is much faster. This is what selective refresh makes possible.

    Also, since your widget is heavy on JS, you might want to look at the new JS Widgets plugin which seeks to re-imagine widgets to make JavaScript a first-class citizen. Instead of the instance data in the customizer setting being a blob of base64-encoded PHP-serialized data, with JS Widgets the instance data is just a regular JS object in the customizer setting (like how nav menu items are represented). This allows you to manipulate it directly without any roundtrips to the server (no more spinner). You can also use any frontend technology you want to build the forms. Currently there are examples using Backbone, React/Redux, and the customizer framework. It’s still an early iteration, so I’m keen to get feedback on it as a new base for widgets in core.


  3. Tai

    You have Google Analytics tracking code throughout your theme which is not permitted.


Comments are closed.

%d bloggers like this: