Ari Stathopoulos

Web Developer, Accessibility & Sustainability evangelist, Human.

Kirki 3.0 on the way

26 March 2017

TL;DR: Separated features as “modules”, separated controls from the API, re-introduced Select2 in place of selectize. Needs testing, release is not imminent.

Version 2.3.7 of the Kirki was released October 22, 2016. Since then I’ve been working on version 2.4, but many things have changed in this version - and more things will change before it gets released - so it makes sense to change it to version 3.0 as per the semantic versioning guidelines.

Some of the major changes made can be seen below:

Introducing “Modules”

All features of Kirki have been refactored as modules and can now be enabled, disabled, or even completely deleted. The current modules are:

  • css
  • customizer-styling
  • icons
  • loading
  • reset
  • tooltips
  • branding
  • postMessage
  • selective-refresh
  • field-dependencies
  • custom-sections

If you want to learn more about how these are handled or how you can register new ones or remove existing ones check out the Kirki_Modules class.

Independent fields file/folder structure

Sometimes for a project you don’t need the API, most modules and a bunch of controls… All you need is a couple extra control-types. We now include a controls folder that contains each control-type as a sub-folder. Each one of them is self-contained and contains all CSS, JS & PHP needed to just use the control using the WordPress Customizer API.

Select2 is back

Select2 is back, replacing Selectize. The reason we originally switched from select2 to selectize was because WooCommerce was using an old version of Select2 which was causing conflicts. Since WooCommerce recently updated to Select2 v4.0.3 we can now use Select2 without any conflicts.

That means that the following controls have been refactored:

  • select
  • typography

A downside of that change is that select controls will no longer be sortable as select2 does not support that functionality out of the box. If someone wants to add an implementation and help out, just submit a pull-request in the github repository. I’d be more than happy to merge something functional. :+1:

Why is this update taking this long?

Kirki is an opensource project and I don’t profit from it. That means that I can’t work on it 24/7 and I just have to focus on my day job. Whenever I have free time I’m working on Kirki, but sometimes free time is a luxury. This period is one of those times.

How can you help?

  • Test, test test!! The version on github is always the development version (develop branch) and one of the main things I can’t do frequently is tests. If you are using Kirki in one -or more- project, please download the development version and check if everything works with your current products. If you find something wrong, create a new ticket in the issues queue on github providing as many details as possible, and a sample of the code you’re using.
  • Pull requests. OK, I know coding is not everyone’s cup of tea, but for those of you that can do it, pull-requests are greatly appreciated. Just make sure they are against the develop branch.

When will version 3.0 be released?

That depends. Currently the time I can spend coding Kirki is not as much as I’d like, but that’s not the main issue. The main issue is that I don’t know if there’s something wrong with it. So ultimately the release date depends on how well theme authors test this version and submit bug reports on github.

That’s all for now. :v: