After the long wait for the previous version, 3.5.7 got approved rather quickly. As stated in my earlier post of today, there was a critical bug in 3.5.6 that had slipped through unnoticed. This is the change summary:
- Fixed a critical bug that was causing the “White Screen of Death” issue while posting comments.
- Fixed a bug where the “full content” posts feature was not working in the Excerpt, Tile and List layout modes.
- Did some minor code cleanup.
A rather serious bug was brought to my attention a couple of hours back, that would prevent users from posting comments (I had been wondering why I had received no comments yet on my last announcement!). This bug was causing the ill-famed “white screen of death” whenever users tried to post comments. I took quick steps to resolve this and I have provided the patch at two places:
- The original post reporting this on support forum.
- At the WordPress forum itself.
And for good measure I am reiterating the fix here:
- Open the file comments.php.
- Look for this block of code near the top:
global $suffusion_unified_options, $post;
foreach ($suffusion_unified_options as $id => $value) {
$$id = $value;
}
- Either delete it or comment it out.
- Use this code instead:
global $options, $suffusion_options, $post;
foreach ($options as $value) {
if (isset($value['id']) && isset($value['std'])) {
if (!isset($suffusion_options[$value['id']])) {
$$value['id'] = $value['std'];
}
else {
$$value['id'] = $suffusion_options[$value['id']];
}
}
}
- Save and you should be fine.
I have already submitted version 3.5.7 to address this, but given that 3.5.6 took such a long time to get approved I wanted to provide this code to users upfront.
Finally! Finally a version of Suffusion got approved! This is the longest it has ever taken between two versions to be approved. And also, this is the first time in the last 3 months that I am actually posting the release note after the actual release!
This release is actually quite a big one from several points of view. Firstly it has all the changes that I documented in the release notes for version 3.5.4. This includes key features like CSS compression, some new hooks, flattening of the WP 3.0 menus etc.
In addition here are the changes for this version:
- Code Housekeeping
Normally code housekeeping is a footnote in my release notes. But in this release it does get the spotlight and with good reason.
- After some feedback from the reviewers at WP I put in numerous checks at various places in the code that shouldn’t impact you as a user, but they do minimize the volume of your server logs. Mind you, this was a very large-scale effort that completely diverted the focus from my main goal for this release. But I guess it was worth its while.
- I have reduced repeating CSS code for two sets of elements: the l3nav … l8nav elements, which you see in the “full-sibling view” in the breadcrumbs for pages, and the navigation menus. Again, these were quite big as changes, because of the large-scale visual impact.
- I have modified the framework to handle compression better in case you are using a child theme. Some parameters have been provided in Blog Features → Child Themes to let you control the different stylesheets you want to include in your child theme. You can ignore this if you are broadly staying within the confines of the the theme’s look and feel even in a child theme.
- Another thing I did was to move the individual skin files into their own sub-directories. This gave me the advantage of defining custom configurations for each skin.
- Bug Fixes
- In cases where the number of posts was very high (a few hundreds if not thousands) the magazine template tended to fail. Apparently this was a problem with a standard WP function call,
get_posts(). This has now been fixed and in the process the magazine template has been made lighter too.
- There was one bug that was showing incorrect WP 3.0 menus in the top navigation bar. This has been addressed.
- A very long-standing issue was the fact that TimThumb refused to work on WP-MS / WP-MU. Apparently the “issue” was my own absentmindedness, which resulted in my wrongly assuming that the problem was more complex than it actually was. Anyway, this issue is now fixed. WP-MS users can harness the full power of TimThumb image resizing in their installations.
- In cases where the static tabbed sidebar was enabled, the special page layouts like “Singe Left, Single Right sidebars” were going completely haywire. This issue has been addressed.
- There was a bug that was causing an inaccurate rendition of the header and the top and main sidebars when all of them were set to have backgrounds as wide as the window but contents aligned to the wrapper. Though this was never reported, it needed fixing for a very important reason (see below)
- New Features
- After several months Suffusion has a new skin!!! This is truly a different skin in terms of styling, look and feel etc. The skin is called Minima and is currently available on a white base with some black highlights with very very few images. Of course, you can pick and choose whatever you want as your colors. I have changed my personal blog to use the new skin. Check it out. There might be some chinks with specific GUI functionality like widget drag-and-drop on the blog pages, but if you stick to something that doesn’t use fancy features you should be okay. As compared to the standard Suffusion look, there are a few things that will jump right at you in Minima.
- One of the things you will see that will jump right out in Minima is a continuous navigation bar, instead of the traditional tabs. Particularly if you are running a news site this kind of a look will serve you well. You can control this setting in Blog Features → Main Navigation Bar Setup and Blog Features → Top Navigation Bar Setup, by having a tabbed vs. continuous look. I am not very happy with the color combinations that I managed to get on the dark themes for the continuous navigation bars, but that is something I will fix in the near future.
- I have added a new option to switch rounded corners off across the site. Check out Visual Effects → Theme Skinning for setting this.
- Feature Changes
- I have made significant typographic enhancements to the theme. I have basically followed best practices and guidelines for this, so if you don’t like the new tweaks to line spacing etc you know whom to blame!
- Also in typography I changed the base font size from 0.75em to 12px. Apparently some people were having issues rendering the fonts on their browsers because of different browser setups. All other font sizes are left as percentages.
- I have modified the theme option menu to be enabled if the user had the capability to “manage options” rather than “edit themes”. This is of particular impact to folks using WP-MS, where previously only the Super Administrator was able to manage theme settings. Regular Administrators were unable to do so even in themes that they owned.
Now a few lines about what didn’t make it to this release. One feature that I really wanted to put in was a few more sidebars, particularly in the header area etc. But unfortunately due to the extremely high volume of work that I had to do, this got pulled. But I promise it will be there in the next release. That’s about it – I am off to relax after a few very taxing weeks working on the theme.
Since it has been exactly 2 weeks after my submission of version 3.5.2 and I have heard nothing useful from the folks at WP despite my queries, I have decided to take some drastic measures resulting in some bad news and some good news.
The Bad News
I have pulled BuddyPress support from the theme. All the folders have been removed and a trimmed down version has been resubmitted as version 3.5.3 to WordPress for approval. I would have liked to be a complete theme with BP support, but 2 weeks for approval is simply not acceptable. I hope all of you agree.
The Good News
Of course, my conscience wouldn’t let me leave you in the lurch, so you will get the next best thing – a plugin that you can use on Suffusion and any child theme.
The Bad News – 2
Given the nature of changes in 3.5.3 I couldn’t do the theme AND the plugin. So the plugin is not yet developed.
The Good News – 2
While I haven’t got the plugin ready, you certainly can try out the BP functionality!!! Head over to the plugin page, or what will become the plugin page – right now it has instructions for you to make this work. Go ahead and give it a shot and let me know what you like / dislike.
And now for the details of version 3.5.3:
- Removed BuddyPress Support
As described above. I haven’t removed the style information from the theme’s stylesheets, though. Just the files for BP have been removed.
- Bug Fixes
There were some issues with BP styles, particularly for IE. Those have been addressed. Also the introduction of the body_class() call caused some unexpected styling issues – they have been addressed, too. Then there was an issue with the registration on the multi-site setup of WP, where the form was not rendering correctly. That has been taken care of.
- Custom Post Types and Custom Taxonomies
This is the biggest feature of this release. Custom Post Types have been supported in version 2.9 of WP, but WP 3.0 takes it a lot further. I have provided a UI for you to add custom post types and custom taxonomies. This development took a good bit of time and testing. Here are the highlights:
- The Options menu has been subtly reorganized. You earlier had the options accessible through the “Appearance” menu:
Now Suffusion has its own menu with an ability to set theme options or define custom types:
- The major sub-feature here is the use of AJAX in the “Custom Types” section. People have complained regarding the fact that Suffusion does a “resubmit” of the options, reloading the page. What is not often understood is that the options UI for Suffusion is phenomenally complex and handling it all through AJAX is not feasible because you will lose the spiffiness that you currently have in the back-end. However I gave AJAX a shot in the Custom Types menu and tedious though it was, I might consider extending AJAX support to the main options page. The UI is still rough around the edges, but I will polish it in the coming weeks.
- You can set up custom post types for books, movies, music albums, support forums etc. You can associate your own taxonomies to these, like genre, rating, writer, support-type etc. You can include these in WP 3.0 menus and a bunch of other places, and in general you can make your site a true CMS site.
- In conjunction with child themes you can create your own custom layouts for each custom post type.
- Support for hAtom Microformats
Your posts and pages now support the hAtom Microformat, which will help microformat-capable browsers and browser-plugins detect post content much better.
I am sincerely hoping that 3.5.3 will get approved quickly. And I am hoping even more that you will like this triple release.
Six days after submitting version 3.5.2 of Suffusion for approval I contacted the folks who do the approvals. The news I received was somewhat discouraging. Since I tagged my theme with “buddypress” because it is now BuddyPress-enabled, it goes into a different review queue. The person who does the approvals there is apparently behind, so I don’t know when this version will be available. Let’s keep our fingers crossed, because there were a lot of things in 3.5.1/3.5.2 that were non-BP features.
Minutes after making my submission of version 3.5.1 I realized that there were some errors that had inadvertently crept in because I used the body_class() method. So I had to fix the errors and resubmit the theme, but as version 3.5.2. Now, I had already laid out plans for 3.5.3 before making these changes, so another feature found its way in. So here are the changes for 3.5.2:
- Support for Child Themes
This was another of those long-time to-do activities that I finally got around to delivering. This was surprisingly easy to incorporate and I just had to make a handful of changes. You can now define child themes for Suffusion. This is very easy for you as well. Let us assume that you will create a child theme called “Son of Suffusion”. Here is what you will do:
- Create a folder called son-of-suffusion under wp-content/themes.
- Create a file called style.css in this folder. Put in these lines:
/*
Theme Name: Son of Suffusion
Theme URI: http://your-theme-url
Description: Child Theme based on Suffusion
Version: 1.0.0
Author: Your Name
Author URI: http://your-url
Template: suffusion
*/
@import url("../suffusion/style.css");
- The last line in comments, “
Template: suffusion” is critical. It tells WP that your theme is based on Suffusion. Make sure that what you put in there is the directory where Suffusion resides.
- The first line after the comments is important if you want to use the Suffusion stylesheet. If you don’t have it, Suffusion’s styles will not be loaded.
- That’s all, really. You can add additional styles if you wish. This would be one way to not use the “Custom Styles” option. You can also add a functions.php and define your own PHP functions there. That would be one way to avoid using the “Custom PHP” functionality. Note the following:
- What you define in functions.php adds on to the existing functions in Suffusion’s functions.php file.
- Any other template file that you add overrides Suffusion’s templates. So if you create your own author.php file, that will take precedence over Suffusion’s author template. One very important use of child themes is if you want custom templates for custom purposes. E.g. You can create a file called category-16.php and define a special layout for your category with id 16. You can also create author-specific templates for WP 3.0. See WP’s template hierarchy for more details regarding how to add custom templates.
- Suffusion’s huge array of options will all be available to you using this method. Ensure that you keep the theme up-to-date.
- Bug fixes for some errors introduced by the
body_class() function, for static pages. Of course, after submitting 3.5.2 I caught another of these errors for author pages, but I am not going to bother with another release before WP approves my current release.
That’s it for now. I guess 3.5.2 will be a significant release for you users because it will come armed with both BuddyPress support and Child Theme support. So just keep waiting for WP to approve, while I figure out how to make some more WP 3.0 functionality available to you.
I submitted version 3.5.1 about a couple of hours back today, which is a pity because I believe I missed the bus for it being approved today, which is an even bigger pity since it will probably not be approved before Tuesday (1st June). Sad, because it has one HUGE feature.
- BuddyPress Compatibility
After quite a few months of procrastination I finally bit the bullet and built full BuddyPress integration capabilities with the theme. It was not a difficult task thanks to the BP Template Pack plugin, but it took a really long time to implement. I had to go through a large number of files, check the layouts for each of those, modify all my stylesheets etc, because the output that I was getting was simply ugly. Also, the BP Template Pack plugin is still in its evolving stages, so there is a lack of consistency in the way it does its HTML markup.
Mind you, you don’t need the BP Template Pack plugin to enable BP integration with Suffusion. This release takes care of that. Of course, you do need the BuddyPress plugin itself
.
As I mentioned, this was a very long exercise and I got a bit desperate towards the end last night. As a result some minute errors might have fallen through the cracks. Please feel free to post them on the support forum.
- Bug Fixes
Surprisingly there were some unexpected bug fixes. I say unexpected because they came up in functionality that has existed for a long time.
The first was in the “Page of Posts” template, where if you chose to display posts in the “List mode” the output came out wrong.
The second was a 2-pronged bug in the image fetching function. The “Tiles mode” and the “Magazine layout” were not picking up an image defined as a thumbnail through WP’s native thumbnail feature. Plus under certain conditions TimThumb was not being invoked for resizing the images. I have fixed both of these. Note that if you are using WP’s native thumbnails you will not be able to resize them using TimThumb (I will have to investigate if it is possible to integrate TimThumb with native thumbnails)
The third was in the Search results. I had never realized that the Search results were showing a date box and categories even for pages. Combined with the fact that I recently added some support for WP’s post_class() function, the net result was that the date was showing up for pages in search results in a really ugly manner.
The fourth fix is for the static tabbed sidebar, where a div element within the custom tabs would automatically get hidden. Now it won’t.
- New Features
I added a capability to disable the “date box” on the search results page. This will ensure that a page returned in a search result doesn’t look dramatically different from a post.
I also added in the body_class() call to the body element of the HTML markup.
With this release I can lay serious claim to be able to support the multi-site capability of WP. If you weren’t aware, WP and WP-MU (Multi-user) are merged in version 3.0 of WP. So you can run WP in a single-site mode (default) or in multi-site (MS) from the same installation. Suffusion always worked fine with WP-MU, but BP integration had been a headache.
I still have to test out one tiny little to-do item – TimThumb integration with WP-MS, and I promise to do it soon.
This whole process of making the theme extract full mileage from WP 3.0 is getting very exciting. Let’s see what I can do with the remaining features.
Once again I break my habit of posting a release announcement before my theme submission is approved. However, given that I am on a flight and I just submitted version 3.4.9 and I have nothing else to do for the next 2 hours, I thought this time was best utilized in writing up the announcement.
Over the past few weeks you might have seen a dip in Suffusion-related activity from my side. The reasons have been manifold – high work pressure, a full house with a lot of chores, back-breaking travel and what not. I have also started taking it slow on the development side, focusing on bug fixes and performance improvements primarily, laying the foundation for bigger things to come.
Anyway, this release has been cooking for 2 weeks (WP approved version 3.4.8 rather late):
- Bug Fixes
- I have fixed the problem with the CDN JQuery script. Now the script will be loaded only if you are not in the admin dashboard, thereby letting you continue your admin activities as usual.
- I have also fixed a bug in the font selection option that was adding a “\” to the font name if it had spaces.
- The CSS file rtl.css used to be loaded twice for sites using an RTL language. I have fixed this.
- Code Housekeeping
- I have changed all fonts to relative sizes. In other words I have moved away from using “px” (pixels) as my unit for font sizes to using “%” (percentages) and “em” (Em-dash). This will help with future enhancements, where I can provide universal font-resizers.
- I have removed the “PHP Safe Mode” check from the “Follow Me” widget loading. I had earlier put that in thinking that it would help resolve a permissions issue that people were facing with that widget. Since the permissions issue has been resolved a while back, I decided to take the check off.
- I have separated the options page code from functions.php. This doesn’t impact you as end-users, but it helps me manage things better.
- I have also streamlined the admin page and made it load Suffusion-specific JavaScript and CSS only if the options page is being displayed. This is in response to a request on the WP forum.
- I have replaced the classes assigned to a post from something I had coded manually to something that WordPress provides. This will offer you a lot more flexibility in terms of how you style your posts.
People who have defined a custom class called “sticky-post” will have to rename it to “sticky”, in accordance with the WP function.
- New Functionality
- You can now hide the date icon on posts. This seemed to be a very frequently asked question and I was tired of repeatedly telling people how to do it. Now you can go to Suffusion Theme Options → Visual Effects → Theme Skinning → Data Box Settings and configure this. As a bonus I also provided options to skin this, like using your own image, setting your own fonts etc.
- Updated Translations
- The Arabic translation has now been updated and is 100% translated.
That’s it for this release. I will be focusing on further streamlining and supporting WP 3.0 in the next few releases.