Opinion

After slogging very hard the last 3 weeks I managed to get all the changes I was hoping to include in place for version 3.6.7 last night. Making use of the illusion of an extra hour from daylight savings I went ahead and tried to submit the theme to WordPress.

But as I tried to submit it I hit a snag. I kept getting a message that said:

Error 413: Request Entity Too Large

No matter what I tried and from which browser and machine, the error did not change. It is highly likely that the WP servers had a configuration change in the back-end. I did post out a message to the theme reviewers asking them as to why this is happening. After all the file is just marginally larger than the previous versions and I have never had this problem earlier. Let’s see what they say.

As I mentioned earlier, the primary features of this release were a reworking of the navigation bar code, a fundamental change to the HTML markup and a set of options for fluid/flexible width. In addition there have been a number of BuddyPress-related style changes. I will release a new version of the Suffusion BuddyPress Pack when this version of Suffusion gets approved.

I will post a detailed change log once the theme is approved.

 

I submitted version 3.5.4 on Sunday, before flying out to the UK. I see that WordPress has still not approved it, so I await the release patiently. This was a big release in terms of the number of fixes and enhancements, so without much ado here is the list:

  1. Optimization
    I did some optimization on multiple fronts:
    1. I introduced a new section under Blog Features called Site Optimization. Most optimization activities have been moved or added there.
    2. I have merged the contents of bgiframe.js with suffusion.js. This is to reduce the overall number of HTTP requests
    3. I have merged the contents of dbx.css with style.css, again, to reduce the overall number of HTTP requests.
    4. You now have options to choose GZip and minification at various levels. Mind you, different plugins can achieve this at various levels for you. In general the capability built into the theme is competent, but not all-encompassing. If you are using a plugin and are happy with it, by all means stick with it. But if you are not using a plugin or don’t want to use one or you don’t have , feel free to give this a shot. From what I have found out this does improve performance on Google Page Speed and on Yahoo YSlow. Feel free to disable the optimization if it doesn’t work well for you:
      1. You can GZip and / or minify the theme’s CSS files from the Blog Features → Site Optimization menu
      2. You can GZip the internal WordPress JavaScript files (like JQuery). Note that these files are already minified, so you don’t have to do anything on that front. Also note that the GZip process doesn’t apply to Suffusion’s JS files (like the JQuery Cycle script for featured content). This is due to a shortcoming in tying together WP’s inbuilt function wp_enqueue_script with the GZip capability. Plugins can still do this for you.
      3. You can also GZip your main content, all from the same Site Optimization section.
  2. WP 3.0 Retro-fixes
    WordPress changed a few things between its last RC version and the final release version. I took care of those in this release:
    1. WP renamed the support type for navigation menus from nav-menus to menus. Because of this the navigation menus seemed to not be working in version 3.5.3 with WP 3.0, while they worked for WP 3.0 RC and Beta versions.
    2. WP also renamed the function is_post_type to post_type_exists. This was causing custom taxonomies to not be associated with custom types in version 3.5.3 (again, this was working for the RC and Beta versions). I have addressed this too.
  3. More WP 3.0 Support
    I have added an option to “flatten” the navigation menus of WP 3.0 in the Navigation menus. Using this setting you will no longer see the menu names in the navigation bar. I have also included WP’s standard code to include feed URLs (this is internal and shouldn’t make a difference to you as a user).
  4. New Widget Areas
    I added two new widget areas: Sidebar 1 (Bottom) and Sidebar 2 (Bottom). These are respectively positioned below Sidebar 1 and Sidebar 2 and will be on the same side as the main sidebars. You can style these sidebars individually, so effectively you can have two sets of tabbed sidebars in the same column.
    As an aside the total number of widget areas in Suffusion is currently 10.
  5. New Action Hooks and Filter Hooks
    A lot of new hooks were added, both as action hooks and filter hooks. You can use these hooks to put in some fancy stuff either through the custom PHP method or through the child theme method. Here are the hooks:
    1. Action Hooks
      These have been added with respect to the sidebars. You can use these to put in some custom markup above your sidebars or between the sidebars or below them.
      1. suffusion_before_first_sidebar
      2. suffusion_between_first_sidebars
      3. suffusion_after_first_sidebar
      4. suffusion_before_second_sidebar
      5. suffusion_between_second_sidebars
      6. suffusion_after_second_sidebar
    2. Filter Hooks
      One filter hook has been added:
      1. suffusion_get_post_title_and_link – You can use this hook to append or prefix the post title with some other text. E.g. You can, as one user requested on the forum, have your own image before the post title, or as another user requested, put in a date in the list layout view. Currently the tile layout doesn’t have this hook, but it will have it in version 3.5.5.
  6. Miscellaneous Changes
    I fixed a small bug brought about by my use of the post_class function. This was causing attachment views to show up unstyled. Now they will get the post class. Another bug I fixed was related to the “Page of Posts” template. For some users this seemed to be ignoring the “Display All Posts” I also made minor modifications to the different layout files by adding global variables that indicate what kind of layout you are using – blog, tile or list. Again, this kind of a change doesn’t impact you, but it is useful if you are going to write your own templates. The last change I made was the addition of an option to disable the use of the body_class internal WP function, because apparently PHP 5.2 has some issues with it. Frankly, this wasn’t my problem to solve, but then again, such things have never prevented users from asking me to resolve their issues.

Now for the next release. I can say for sure about two new features in 3.5.5. One is a couple more widget areas (a lot of people have been asking for widget areas in the header). Another is the use of TimThumb with WP-MS, something that has been in my To-do bucket ever since I released BP support for the theme. As for more features, I need to see what I can fit in my timeline.

While it has been humorously suggested that I am a machine, and while a lot of users on the support forums make demands from me seriously assuming I am a machine I have to remind you what I mentioned at the start of the post: I am in London this week, hence my response times and development speed will be off. Also note that I am not in charge of approvals at WP, so please don’t keep posting questions asking when version 3.5.4 will be available – I have no visibility into that.

 
Announcement

After months of waiting and after a series of Beta versions and Release Candidates WP 3.0 finally came out today. I encourage all of you to upgrade your installations.

Why Should You Upgrade?

Version 3.0 is a significant release that has a lot of terrific features. Here are some:

  1. Menus
    This is arguably the most awaited feature of WordPress. This is  a huge relief for developers more than users as we don’t have to code our themes to provide you with a mechanism to select pages / categories / links to build the menu. As long as the themes offer basic WP 3.0 menu support you are good to go. You can build and structure your menus as and how you want with very little restrictions.
    Suffusion has supported native menus from version 3.5.0.
    It has been brought to my notice that WP pulled a little trick here. In the release version they changed a call ever so slightly, thereby making it seem like menus don’t work in Suffusion 3.5.3 (and a bunch of other themes that claim to support menus). To fix this:
    1. Open functions.php in your theme editor
    2. Search for the line that says add_theme_support(‘nav-menus’);
    3. Change that to say add_theme_support(‘menus’);

    That’s all.

  2. Integrated Multi-User Code
    With WP 3.0 the two branches of code, WP-MU (multi-user) and WP have been merged. You need to tweak a few settings to convert your site from a regular WP site to a WP-MS (multi-site) installation. You can start by creating a network.
    Suffusion can be used for WP-MS and can be made to work with BuddyPress too for a better experience.
  3. Custom Post Types and Custom Taxonomies
    The next big feature for folks wishing to use WordPress as a full-blown CMS is the concept of Custom Post Types and Custom Taxonomies. This offers limitless possibilities. If you have a site where you do reviews of books, movies and music, you can create custom post types for each of those, then associate custom taxonomies to them, like authors for books, actors and directors for movies and artists for music albums. In a theme that supports child themes you can suitably create your own templates for each of these post types and make them appear very different from the regular “blog” look.
    Suffusion added a plugin-like feature to let you define custom post types and taxonomies in version 3.5.3. This functionality will be enhanced in the next few releases.
  4. Native Support for Custom Header and Custom Background Images
    Now theme developers don’t have to code up a bunch of stuff to handle custom header images and background images. Of course, if you are like me you might still want to code up things – coding definitely gives you a lot of flexibility.
    Suffusion doesn’t support this feature at present, but it will, very soon. I couldn’t beat the WP 3.0 deadline, to be honest :-)

Why Shouldn’t You Upgrade?

Simple answer – themes and plugins. Before you upgrade make sure that your theme is tested to work for the theme you are using. I am assuming that you are not necessarily a Suffusion user, so if you are using a theme that is not compatible and you upgrade, you will find yourself on a sticky wicket.

Another reason why you shouldn’t upgrade is if you have some indispensible plugin that is not tested on WP 3.0.

How Should You Upgrade?

If you don’t see an option on your admin Dashboard to upgrade, head over to Tools → Upgrade and then do the upgrade.

There is always the manual upgrade option, where you can download the zip file from WordPress, unzip it and overwrite everything apart from the wp-content folder.

What? No Suffusion News?

Come on! You cannot expect me to sign off without talking about the progress on Suffusion!

I have been busy the last week adding some optimization-specific stuff to Suffusion, like an ability to use GZip compression and minification on CSS and JavaScript. I have been largely successful in improving a lot of things, significantly bumping up the scores on Google Page Speed and Yahoo YSlow. Mind you, YSlow is quite hard to please – Yahoo’s own site scores a “B” grade on its performance test.

I have also been working on a ton of other stuff, small and big. Stay tuned – a new version will be submitted soon.

 

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:

  1. 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.
  2. 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.
  3. 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:
    1. The Options menu has been subtly reorganized. You earlier had the options accessible through the “Appearance” menu:
      options-1 
      Now Suffusion has its own menu with an ability to set theme options or define custom types:
      options-2
    2. 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.
    3. 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.
    4. In conjunction with child themes you can create your own custom layouts for each custom post type.
  4. 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:

  1. 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:
    1. Create a folder called son-of-suffusion under wp-content/themes.
    2. 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");
      
    3. 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.
    4. 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.
    5. 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:
      1. What you define in functions.php adds on to the existing functions in Suffusion’s functions.php file.
      2. 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.
    6. Suffusion’s huge array of options will all be available to you using this method. Ensure that you keep the theme up-to-date.
  2. 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.

  1. 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.
  2. 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.
  3. 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.

© 2011 Aquoid Themes Suffusion theme by Sayontan Sinha