This is maintenance release covers most of the changes required for compliance for being hosted on the WordPress.Org Theme Repository. These are some fairly minor changes needed from the first review submission, so hopefully there will be sufficient to pass the manual review this time. 🙂
This version also contains a Widget fix for the WordPress 4.8 Text Widget debarkle, one consequence of which was the breaking of the Discreet Text Widget included in BioShip which extended the WP_Widget_Text class. No longer - a WP_Widget_Classic_Text class has been added which is simply a copy of the Text Widget from WP 4.7.5 so that the Discreet Text Widget can use it as it did (yeesh.)
Some other improvements include the fixing of a conflict with the global site icon, the ability to use author bio boxes outside the loop (eg. in sidebars) and a fix for content grid columns so they are full or half width on mobile screens as intended.
Oh and a shout out to WordCamp Brisbane 2017 which I just got back from..! Thanks #WCBNE
Looks like one of those querystring variables got away from me folks, defaulting the content grid columns to 24 regardless of theme setting... Fortunately found this one out quick and here's the hotfix version. Some preliminary work on cleaning the skeleton stylesheet, and redoing the screenshots as per the new BioShip Blank Canvas Demo Site is also included in this minor release.
It looks like I missed the memo on prefixing. Well, kind of, it's rather that prefixing is something I skipped as I hadn't originally planned to submit this theme to the WordPress Theme repository. But as time and development went on that seemed like a good goal after all, and so in final preparation for that, I've gone back and prefixed everything. Yeesh.
This was much more difficult than you'd think, because it required maintaining backwards compatibility with existing non-prefixed customizations, and without sufficiently tested code that could be a breaking change for users (myself included). So, there has been a considerable delay in this release as the initial prefixed version (unreleased for this reason) was tested and tweaked on all my existing sites to ensure all existing customizations still work.
So, from now on, you can access any existing theme action hooks and filters using the bioship_ prefix instead of the old skeleton_ prefix. And if you like you can change existing customizations that use that old prefix, but the point is - you don't have to - your site will still work fine. 🙂 Also of note, script handles, stylesheet handles, and image names now have a bioship- prefix as they should.
Among other minor bugfixes, the other more major changes and improvements in this version include:
- The addition of the Freemius SDK for Themes - you are invited to opt in to help improve BioShip by assisting with theme statistics and feedback.
- The removal of wp-load.php process from grid.php - all grid values are now passed to grid.php via querystring so that it's fully dynamic without requiring a secondary load process.
- Better integration with Better WordPress Minify - stylesheets that cause problems when minified are now automatically ignored, so there is no need to specify them manually for BWP any more.
- Language translation file has been regenerated - this was not a priority and held up until all the translation wrappers were put in place, which they now have been.
And what's next? Well since prefixing was the last on a long list of requirements for WordPress.Org, now that everything is ready, it Looks like it's time to submit to the Theme Repository and see what happens!
Well it's been a long journey, but BioShip has made it to Version 2! And the fully legit way of consistent updates - not just by bumping the version prematurely to look better or newer, lol. Well, I guess what this means is there aren't any major features added to the theme itself, but the focus has been on greater stability and optimization for a while now... and this approach will continue.
The discerning will recognize this is actually really good news for the project, because it means less and less bugs, not more bugs or bloat introduced as features are added. Besides, it already has way more included than most themes or frameworks ever will. The flexibility is there baked in from the start, and while it's been a bumpy road to get it all working, it's now a pretty smooth ride. And of course, I welcome any feedback to make it even smoother.
That said, if you are looking for those extra features (that you might expect from a theme but don't really belong there)... you won't be disappointed either. As I've started releasing them as separate plugins instead. Partly because they do things that are not really "theme territory"... but mostly because I have a lot of cool plugin ideas gathering virtual dust on my hard drive that I know people will find useful.
As such I am doing a plugin giveaway as of right now (December 2016), challenging myself to release 10 Plugins in 10 Weeks... or more! Plus, launching a solutions forum to go with them (with a BioShip support and features section there)... welcoming new users and contributors of any experience level. The first plugin release is somewhat of an extension for BioShip (but can be used with any theme, which is why it's a plugin) - and that is Content Sidebars, for adding extra flexible widget areas to your content and surrounds.
But I digress, there's plenty more plugins to come so check them all out:
WordQuest Plugins Giveaway
Oh yeah, here are the other things updated in BioShip Version 2:
- Updated: WordQuest Helper Library to 1.6.5
- Updated: BioShip news dashboard feed widget
- Added: missing translation wrappers to admin
- Fixed: full page content feed output
- Fixed: multicheck box options bug one more time
- Fixed: filemtime mode cachebusting for style.css
- Fixed: breadcrumb display override targeting bug
- Fixed: meta formatting duplicate dash replacement bug
The options are still available via Skin, Muscle and Skeleton panels on both pages, but split into more user-facing and more developer-facing options. This solution seems to suit the Customizer purpose better, as the majority of the Live Preview options for basic styling or design are available on the Basic page and the less often changed options for development on the Advanced page. Personally I much prefer accessing everything on the one page via Titan Framework, but for those who prefer the Customizer this will speed things up a bit.
Of course there are some other improvements in this version, one of note being the fixing of the StickyKit and mobile queries conflict. This means you can now enable StickyKit for the sidebar elements without having to worry about it glitching out on smaller screens. Also, with the addition of the option to load jQuery MatchHeight, you can easily match the height of content grid columns (or other elements) simply by adding the class matchheight to them. Neat.
Here's a more complete list of updates:
- Customizer: split into Basic and Advanced Option pages
- Option: jQuery Match Height loading for .matchheight classes
- Added: function tracer lines to all templating functions
- Fixed: jQuery StickyKit and Mobile Queries conflict
- Fixed: jQuery StickyKit total width display glitch
- Fixed: set changed theme sidebar state for empty sidebars
- Removed: old unused display output override checks
- Optimized: reduced old meta formatting code bloat
Got to some of those various lesser bugs in this version, including fixing the constructor method for the Discreet Text Widget. The major change here though is a complete revamp of the theme function tracer prototype, which means you can easily trace exactly what arguments are being passed to any function within the theme. See the Debug Documentation
for usage instructions.
- Fixed: map default options if empty (on theme activation)
- Fixed: fix to numerous undefined variable warnings
- Fixed: add check for logoresize page element in init.js
- Fixed: to TMGPA plugin recommendations array
- Fixed: process shortcodes in excerpts filter option
- Fixed: removed overflow:hidden from CSS clearfix causing height
- Improved: tracer.php fully revamped outdated debug tracer
- Improved: use templating action priorities from hooks array
- Update: replace deprecated constructor on Discreet Text Widget
- Update: Discreet Text Widget (deprecated constructor method)
This is a minor bugfix release for 1.9.5, but also with the completion of the basic Grid documentation which was missing as not quite finished in the previous release.
- Docs: Grid System documentation completed
- Fixed: grid.php overflow bug by recalculating wrap width total
- Fixed: grid.php offset left class rule selector typo
- Fixed: muscle.php some mismatching WP to Open Graph locales
- Fixed: skin.php login and inline admin styles output exit bug
- Fixed: skin.php missing fallback to main background for wp-login
- Fixed: skin.php missing number input type for input styles
- Fixed: options.php background repeat option array typo
- Fixed: theme options header size for smaller screen widths
With all major development completed, this update is ready to rock!
Most of the documentation is done too which is the focus of this release.
Plus a number of fixes and improvements including a separated content grid.
Also ready to be submitted to the WordPress Theme repository... 🙂
- Docs: Child Theme and Framework documentation completed
- Docs: Metabox and Sidebar documentation completed
- Improved: Grid System layout value filtering
- Improved: theme settings autobackup/restore process
- Improved: perpost metabox display tables and sections
- Standardized: global vthemeoptions is now vthemesettings
- Standardized: global vdisplayoverrides is now vthemedisplay
- Option: Standalone Content Grid Columns Default Value
- Option: load Dynamic Editor Styles to match theme settings
- Option: disable Emoji scripts and styles loading
- Added: Percentage Content Grids for 12/16/20/24 Columns
- Added: PerPost Sidebar Overrides Interface
- Added: PerPost CSS Styles QuickSave button
- Added: optional Archive Template Subdirectory to hierarchy
- Added: optional alternative template directory for WooCommerce
- Filter: alternative WooCommerce template directory
- Filter: separated sidebar hide and no output filters
- Updated: Options to Titan Framework settings transfer
- Updated: Kirki Customizer Libary to 2.3.5
- Optimized: Content Grid compatibility classes
- Fixed: Post Type(s) Detection (to not use is_single)
- Fixed: insane settings saving bug on some old installs
- Fixed: Body Login class prefix to Admin Login Styles
- Fixed: dashes in Theme Mods slug for Autospace Main Menu
- Fixed: new child theme install destination directories
- Fixed: matching jQuery handle for CDN fallback script
- Fixed: remove unused CodeMirror scripts from Kirki load
- Fixed: theme settings user backup restore button action
- Fixed: apply_filters typo for archive content template
- Fixed: Matchmedia.js file hierarchy call argument
- Removed: [off] from sidebar labels (styling sufficient)
- Removed: old force update code for insane saving bug
With so many changes and new features added, I figured it was time to do and little code cleaning and optimization...
There hasn't been a new public release since 1.5.0 because so many things have been redeveloped.
Now that I"m satisfied with the stability of the new changes (mostly from 1.8.0) - here it is!
- skull.php: moved skull functions from functions.php
- Optimized: Precalculate Filtered Theme Layout State
- Improved: Sidebar Template Hierarchy System
- Improved: Sidebar Registration, Order and Labelling
- Improved: Pass Filtered Theme Layout to grid.php
- Improved: Theme Options Page Colour Scheme
- Improved: standard vtheme prefix for theme globals
- Improved: Layout Sections and Hook Global
- Added: first/last/odd/even Widget Style Classes
- Added: more documentation... about halfways there
- Fixed: duplicate ID for new site-description attribute
- Fixed: allow blank (empty) Sidebars via filtering
Another massive milestone, bringing WordPress Customizer Live Preview support to BioShip!
Plus CSS Hero declarations support for better organized styling access. 🙂
And a whole bunch of other massive changes...
- docs.php: Dynamic Documentation Display (prototype)
- Added: Customizer Sidebar Controls (width, left/right)
- Added: Customizer Dynamic CSS Live Preview
- Added: Customizer Typography Live Preview (Titan)
- Added: Customizer Background Images Live Preview
- Added: Customizer Logo Image/Text Live Preview
- Added: Customizer Hover Selectors Live Preview
- Added: Customizer Button Gradients Live Preview
- Added: Customizer Sanitization fallbacks
- Added: Header Title Text and Description Filters
- Added: Import Theme Options via File Upload Method
- Added: Custom CSS QuickSave Button to Theme Options
- Added: Archive and Search Sidebar Widget Area
- Added: Universal get Post Types helper function
- Added: Base Template (header/footer/loop) Hierarchies
- Improved: Better CSS Hero Selector Declarations
- Improved: Header Background Image Size Caching
- Improved: Minor comments.php template tweaks
- Improved: Selective Theme Options import allowed
- Optimized: Conditional loading of superfish.js
- Optimized: Re-indexed Layout Hook/Label Reference
- Optimized: Much cleaner core loop templates
- Option: Category/Taxonomy/Tag/Author/404 Sidebars
- Option: Main Navigation Menu Styling Options
- Option: Resize Header Logo Image on Window Resize
- Option: AutoSpace Main Navigation Items
- Option: Input text and background colour selection
- Option: Apply Button Colours to WooCommerce Buttons
- Option: Apply Buttons to Comment Edit/Reply Links
- Option: Hybrid Breadcrumbs for Post/Archive Types
- Option: use File Modified Time for Cachebusting
- Option: RSS Feed Excerpt Length
- Option: Full Content RSS Feeds for Pages
- Option: Login Form Background Colour
- Metabox Option: hide page navi or breadcrumb trail
- Metabox Option: hide header menu or footer menu
- Metabox Option: no wrapper margins (full width screen)
- Moved: Login Options tab to Skin Layer (styling)
- Moved: admin.php, customizer.php, tracer.php to /admin/
- Removed: Default Navigation Styling from skeleton.css
- Removed: Grid Compatibility Classes from Template Columns
- Removed duplicate All Options global variable
- Renamed: /child-source/ directory to /child/
- Renamed: /css/ directory to /styles/
- Renamed: loop-hybrid.php is now loop-index.php
- Fixed: Options Framework Customizer Section bug
- Fixed: Options Framework/Titan Multicheck Conflict
- Fixed: Customizer Multicheck array saving (yeesh)
- Fixed: Theme Options Sidebar Save Button Event
- Fixed: Admin Theme Menu links for Theme Test Drive
- Fixed: nonce checks for options restore/import/revert
- Fixed: Login Page Logo and Login Form Styling
- Fixed: Page Navigation filters and display logic
- Fixed: Export Theme Options in XML format
- Fixed: Theme Options Sidebar Save Submit Selectors
- Fixed: Customizer Transport Refresh for Live Preview
- Fixed: Kirki control script URL misconfig bug
- Fixed: Extra Font selection array key bug
- Fixed: PerPost Thumbnail display override
- Fixed: Site Icon and Startup image bugs
- Fixed: Match WP jQuery version for Google CDN option