Sports Bench 2.0 is available today

After nearly two years, we have a new version of both the Sports Bench plugin and Sports Bench Main Theme!

Sports Bench 2.0 for both is now available for update and purchase, and it is a pretty significant update.

This update drastically changes how things are done for the plugin and the theme, though if you haven’t made customizations or changes you should be just fine updating today.

So let’s jump in to see what you can expect with this new release.

Complete rewrite of the plugin

So the plugin received a massive overhaul for version 2.0. The biggest difference is that I switched the plugin from a functional programming paradigm to an object oriented programming paradigm.

If you don’t know what that means, you’re pretty much in luck. You probably haven’t made any customizations that involve using classes or functions from the plugin, so you don’t have to worry. You can update the plugin and not expect to run into any errors.

If you have made customizations, you’ll want to check out the series of posts on how to safely update to version 2.0 before updating Sports Bench.

Here’s what else is new for the plugin.

New Design

In addition to a new programming paradigm, the visual design of the plugin has changed as well.

I’ve mainly made things simpler and easier to read. Everything from teams to players to games to playoff brackets should be easy to understand and enter in data (especially the playoffs). I’ve tried to focus on usability and user experience over a cool design.

So hopefully you should find the new version easier to use on the backend.

New Classes

With the shift to object oriented programming, there are a lot of new classes that you can use to extend and customize your website to meet your needs.

There are still the main classes (team, player, game, etc.), but they lost their Sports_Bench prefix. Also, you can only get the properties of the classes through getter methods.

Additionally, there are child classes for each sport. So for a soccer game, there’s a SoccerGame class that you can use. Or for a baseball team, you can use the BaseballTeam class.

Also, because I started to use namespaces, you will need to add use Sports_Bench\Classes\<rest of namespace> at the top of your files to call the classes.

To learn more about the classes and how to use them, check out the Codex.

Easier to Customize Admin Pages

Additionally, if you want to customize the add/edit pages for teams, players and games, you can now do that much easier than before.

You no longer need to create entire files to change those pages. Instead, you can remove the default action hooks for those pages and then add in your own action hooks with the fields you want to show.

I’ll be writing more tutorials on how to do that in the coming weeks.

Performance

Also, I’ve tried to make sure that the performance of the plugin is better that previous versions. I know that some people ran into that issue before, and hopefully that has been fixed.

The CSS files only have the styles they need to make sure everything looks fine with your theme (though you might need to make some adjustments). And the JavaScript files are designed to be loaded in the footer and using async and defer so that they don’t slow down the loading time of your website.

If you run into any performance issues, please let me know.

Accessibility

Finally, I’ve made it a point to make sure everything I build with Sports Bench is accessible. This means everyone should be able to use the plugin (both on the admin side and the public facing side) no matter what technology they use to browse the internet.

I will say that while I’ve done testing for accessibility, I don’t want to make a 100 percent guarantee that it’s accessible, and I will be continuing to work on fixing accessibility issues as they come up. So if you do run into an accessibility issue (or any issue for that matter), please reach out to me and I will fix it.

Theme rewrite

Likewise, the theme has also undergone a major transformation. In fact, it really has been built from the ground up with not a whole lot remaining from the old version of the theme.

That does mean that if you’ve made any customizations (hopefully through a child theme, right?), some of your changes might break. If you’ve only made CSS changes, you can update and then figure out the selectors to change to get it looking correct.

If you’ve made changes to template files, you might consider setting the parent theme as your chosen theme, updating the theme, grabbing and editing the template files and then reactivating your child theme.

But the good news is that if you haven’t made any customizations, you’re good to go with the update today.

WP Rig starter theme

The biggest thing that has changed with the theme is that I used WP Rig as a starter theme.

I’ve talked a little about this in more detail in the past, the short version is that it’s a great starter theme with a lot of developer tools built into it. At most it took me two weeks to actually build out the theme, which is much better than the month-plus it took for the original theme.

Plus, I think that it makes a better product for the end user, which is a big win for you.

Performance

Also by using WP Rig, I’ve made the theme perform better. Only the necessary CSS is being loaded and the minimal JavaScript that’s being used loads in the footer of your website. That means quicker loading times for your website, which is pretty important for Google these days.

Accessibility

Finally, like with the plugin, I’m focusing on making the theme accessible for everyone to use. I’ve run the theme through a lot of automated tests and feel pretty good about it. But if you do run into a problem, please let me know about it so I can fix it.

Roadmap for the future

So where are things going to go from here in the future for Sports Bench?

Well for starters, I am going to decouple theme and plugin updates from each other. I’ve technically released new versions of each other at the same time (and keeping the version numbers the same), but going forward I’m planning on releasing a major release (i.e. 2.1, 2.2, etc.) for the plugin no more than two months apart

Also, I’m hoping to get into a rhythm of releasing minor updates of the plugin every two to three weeks to keep things fresh and working, although it just depends on if there are issues that are found.

As for what you can expect with version 2.1 of the plugin, I’m looking at adding history for teams and potentially starting the process at adding play-by-play. I’ll probably flesh out what will be in . And the current target is sometime before Dec. 14, which is the proposed release date for WordPress 5.9.