APL 0.3 Milestone
This milestone for APL was probably the most critical, and the most profound. Much of the core functionality of APL was switched over from limited WP functions to WP Object Methods. This opened the plugin to have more implications in order to meet some of the demands and standards.
- WP Standards.
- Script & Style was changed to use wp_enqueue.
- Activation, Deactivation, and Delete/Uninstall.
- Widget Support (Shortcodes in Text Widgets work the same).
- Added Assets to Repository.
- Enhanced Query Object (APL_Query).
- Changed from get_post to WP_Query object.
- Custom Post Types & Taxonomies.
- Post Status (Public and/or Private).
- Multiple Parent Pages to display Child Pages.
- Exclude Duplicate Posts with multiple post lists.
- Improved Query Dynamics with Current Page.
- Ignore Stickies.
- User Roles/Permissions with posts.
- Additional Shortcodes.
- Changed Internal Shortcodes to an Object’s Instance.
- Post_Author Label attribute.
- Post_Thumb Size attribute.
- Created Preset Objects Note: APL_Filter & APL_Design will result from this.
- Empty Message.
- jQuery UI.
- Admin & Help Dialogs.
- Added an Update Object.
- Improved Backup File Handling.
After the development of 0.1 and 0.2, there was still plenty of major design concepts that needed to be implemented in order to make APL run more efficiently and follow WP’s Guidlines. Some of the other changes made were to fix other changes that have been made.
Some of the basics were plugin Script & Style Handling, Activation, Deactivation, and Delete/Uninstall. However non-progressive it may seem, it was considered necessary. Also changed Screenshots to the Assets folder in the repository, and added a Thumbnail image which has done rather well when seeing the plugin at ‘first glance’ (which was also custom made).
The other feature that was most commonly requested was Widget Support. Initially I assumed it was going to require a good amount of knowledge, but it actually went very smoothly. However, using a Text Widget with a Preset Shortcode works much the same way.
Enhanced Query Object (APL_Query)
This was the main focus of 0.3, and it also turned out to be the most troublesome. While adding old features, there were also other features that had become an option, and adding new filters added some conflicts and challenges.
It simply started as changing the main function APL, get_posts(), to WP_Query, and after adding Custom Post Type and Taxonomy support. There was a large array of post variables that became available. Filter settings added Post Status, Ignore Stickies, and User Permission/Roles. Some of the old dynamics were improved, but it was also added dynamics to Parent Pages.
A unique feature to APL is the ability to prevent duplicates post being viewed. Originally, there was the just option to prevent the current page from being added to a list, but there was still the issue of other posts being displayed multiple times. 0.3 allows any number of Preset post lists to be used without showing the same page multiple times.
There were a few requests to add some shortcodes, and even though I originally intended to hold off til 0.4. I ultimately decided to completely to re-code the last bit of the original code, and it’s a good thing it was expedited into 0.3.
The whole internal shortcode concept was a number of manual callback methods which weren’t well suited RegEx (Regular Expressions). It also made handling the shortcode attributes/params difficult and confusing. Changing it to it’s own object that utilizes WP Shortcode API provided much more easy and allowed mixed attributes. It is also encapsulated into it’s own internal instance to prevent any conflicts, so the only worry should be the Preset post_list shortcode.
- [post_terms taxonomy=”category” delimiter=”, ” links=”true” max=”0″ empty_message=””] – Added Post_Term shortcode.
- [post_author label=”display_name”] – Added Label attribute to Post_Author shortcode.
- [post_thumb size=”thumbnail” extract=”none”] – Added (custom) Size attribute to Post_Thumb shortcode.
Created Preset Objects
Note: APL_Filter & APL_Design will result from this.
With the growing amount of variables, Presets got its own object for better handling. It’s simply an object that is used for the database structure for APL. As noted though, APL’s Filter and Design with become interchangeable objects from this which the Preset object with use.
Added an Update Object
Handles how updating will be carried out within the database. This is intended for reverse compatibility with any subversion updates. There isn’t much of any notable feature other than future updates should go a lot smoother.
Improved Backup File Handling
During the release of HTML5, creating backups to download was just in the middle of development. Even though HTML5 resolve many issues that APL faced, there also wasn’t much of a standard establish yet. Currently, there is complications from the final product, but this was another task the was time consuming.