IMPORTANT: If you are running Piklist v0.9.4.31 or earlier, please read this.
Existing beta users can skip this.
Over the last nine months, many of our users have been testing the beta version of Piklist, v0.9.9.8. This version added features, fixed bugs and is more stable and secure than what you are running… and we are now ready to release it to you next week.
However, there are two changes in 0.9.9.8 that are very important. If you are using Workflow tabs or repeater (add_more) fields, then they will stop working. We are not happy about this change, but Kevin and I both feel it is best for Piklist and ultimately you. The new way to implement Workflow tabs and repeater fields is so much more powerful and easier to use.
Here’s what do you need to know:
1) Before you upgrade to Piklist v0.9.9.8, backup your website database. Seriously, once you run the upgrade script this is no turning back, so backup.
2) When you upgrade, Piklist will ask you to run an upgrade script. This script will change your add_more data to the new format. Once you run the script there is NO TURNING BACK, SO BACKUP YOUR DATA FIRST.
3) Do this upgrade on your development site or staging server first if possible.
4) WORKFLOW TABS: If you are using Workflow tabs you can implement the change before you upgrade, and also leave your old code. They will not conflict. Follow these instructions to implement the new Workflow tabs.
5) ADD-MORES: If you are displaying repeater field data (add_more) in your theme or plugin, you will need to rewrite your display code a bit… the field code stays the same. The array structure for the new data is different than what you have (that’s why we need the upgrade script). Once you get the data you will need to loop over it using a foreach. In many cases your existing code will have you looking for a  key, removing that key will fix the issue. For instance if your code has $data, making it $data, might be all you need. You no longer need the template parts described in this doc, though you can use them in your foreach loop.
If you don’t want to wait, you can download 0.9.9.8 now if you want.
To learn more about these changes, continue reading:
One of the most powerful and popular features of Piklist are its Workflow tabs. However, this is one of those times we were unhappy with the way you implement them. Unlike other parts of Piklist, you needed to use a function, include_meta_boxes(), to include meta boxes into a flow. Not only is this not the Piklist way, but it also limits the power of Workflow tabs.
Starting in v0.9.9, the include_meta_boxes() has been replaced with a more “Piklist-like” way of assigning sections to a WorkFlow. You simply include the Flow and Tab parameters in the comment block of your section files (i.e. meta-boxes). Full documentation can be found here >
Unfortunately, this is one of those rare times when a Piklist feature is not backwards compatible. Kevin and I debated long and hard about this, and ultimately decided this was the best way to go for both the project and you.
The good news is that you can implement the new way and keep the old way as well. So once you upgrade, the new way will just kick in.
Add-More Field Data
Have you ever looked in your database and checked at the data Piklist is saving for you? If not, we suggest you do. It’s beautiful. Seriously beautiful. We work hard to make sure the data saved is simple to read and easy to use. Feel free to compare it to other field frameworks. You will see a big difference.
With almost every Piklist field you can use standard WordPress functions to retrieve your data. You already know how to use get_post_meta(), get_user_meta(), etc., so why should Piklist make you use custom functions instead? The exception is the Piklist Add-More repeater. Since you can literally create infinite levels of add-mores, with totally different groups of fields, and re-sort them if you like… you can guess that the data saved is a serious array. In the past, this data needed to be passed through the piklist() function for you to retrieve and use it in your themes. This is something that always bothered us. We want your data to be beautiful, and with this field it wasn’t…until now.
When you upgrade to v0.9.9, Piklist will ask you to run a script to update your Piklist data. Once the update is complete, ALL Piklist data will be able to be pulled with standard WordPress functions. Your existing Piklist code will be backwards compatible, however, any custom code you wrote targeting the old array structure will not work. You will have to rewrite them. IMPORTANT: Please back up your database before running the upgrade script and report any problems you see.
We’re here to assist you, so please post in the support forums if you need help.