Toolbelt

Description

A collection of simple addons that provide every day functionality with speed and elegance. There’s no options, and no unnecessary filler. It does exactly what it needs to do and nothing else.

Taking inspiration from Jetpack I want to rebuild the features I use the most and make them as simple and fast as possible.

Features

Fast

I want it to be fast. I want to be able to enable any of the features and not have my Google Pagespeed score drop. To be fast it:

  • Doesn’t use jQuery or any other javascript framework. All javascript is vanilla js, and minified.
  • Minifies all assets (JS and CSS)
  • Loads all assets inline. They are already small, and loading them directly on the page means there are no server requests.
  • Only loads things when they are needed. JS and CSS are only loaded for activated modules.
  • No options. There’s only one database option, and that’s an array that stores what modules are active.
  • Uses the minimum code possible. Minimum Javascript and PHP. Less code means more speed, and fewer bugs.
  • All options are disabled by default. You enable just the ones you need.

Private

To ensure the plugin is as privacy focused as possible it:

  • Does not phone out. No data is shared with third parties.
  • Does not use standard social sharing javascripts (loaded from social networks servers).
  • Does not track your usage of the plugin.
  • Does not add generator comments, or secret comments to your site html.

More…

  • The code can be found on Github
  • Documentation with code examples can be found on the wiki
  • You can reach out to me with questions or problems on Twitter

Installation

  1. Install and Activate the plugin through the plugins page.
  2. Done. Everything else is setup automatically.

FAQ

Why one plugin and not separate plugins?

I am making this because it’s something I want to use. I like the simplicity of installing Jetpack and letting it do it’s thing. But it’s not designed for speed or elegance, so I am trying to address that with my own plugin.

I am making the theme as developer friendly as I can. Things can be tweaked using WordPress filters, and I will add more of these as I go.

Do you have any documentation?

The docs are on Github. They are a constant work in progress.

Can I contribute/ report a problem?

Yes please! You can submit issues on Github or add questions to the support forum. I’d be happy to accept pull requests as well.

What features will you add next?

I don’t know. I’m open to suggestions (ping me on Twitter), but I’ll probably just add things as I need them.

Reviews

September 12, 2019
While this plugin isn't a "must have", it provides a nice collection of useful tools, which help to improve your website performance and usability. Every setting in the backend menu is well explained. I especially like, that every module keeps the website performance in mind and may even help to improve the speed of your site. 🚀 Code is clean, easy to read and follows WordPress Coding Standards. For performance reasons JavaScript- and CSS-files are minified but the plugin also provides the uncompressed version of each file, which also helps to read and learn from the code. Open Source at it's best! 😍 For my taste, usability could be improved by grouping the modules into categories, preferably in different tabs. Thank you for providing your plugin as Open Source. 🌻
September 11, 2019
I like it. It's lightweight ( did several tests on Gtmetrix before installing it and after that). Well documented too. Useful modules. I'll watch its future development with impatience. Great support too!!!
September 5, 2019
This polugin adds few very handy options to WordPress. Is simple and runing so fast and smooth.
September 4, 2019
It's lightweight, fast, and does a lot of things. I am using about half of its features. It let me remove multiple slower plugins and keep the functionality. I love it. Thank you, Ben!
Read all 5 reviews

Contributors & Developers

“Toolbelt” is open source software. The following people have contributed to this plugin.

Contributors

“Toolbelt” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Toolbelt” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.9.2 – 17th September 2019

  • Fix bug with publishing content when Related Posts is enabled. Thanks to Pavel from wpzoom.com for the heads up.

1.9.1 – 16th September 2019

  • Fix settings table filters.

1.9 – 16th September 2019

  • Add module filtering to settings page.
  • Flush rewrite rules on settings change.
  • Add an expiry time for transients so they aren’t autoloaded, and so that the cache will be cleared.
  • Lots and lots of coding standards fixes. The code should be a lot more reilient now.
  • Delete autoloaded related posts transients. This may be causing some slow down/ high memory usage. Update the plugin and visit the module settings to clear the old transients.

1.8.1 – 12th September 2019

  • Tweak the cookie banner font sizes so they can be changed from a single place.
  • Add filter for breadcrumbs that allows you to easily disable them.

1.8 – 10th September 2019

  • Add widget display module. This is an early version and subject to change.
  • Add infinite scroll module.
  • Lots of tidying up coding standards and functionality. Thanks to Viktor Szépe for help here!
  • Add missing page weight values.
  • Fix incorrect text domains.
  • Add pot file for simpler translations.
  • Ensure cookie bar is hidden if cookies are accepted.
  • Make use of travis build system to ensure good code.
  • Add tools link to plugin page.
  • Make heading anchors always show on touch devices.

1.7.1 – 4th September 2019

  • Remove test function that makes social sharing buttons display on every page.

1.7 – 4th September 2019

  • Add extra filters for enabling and disabling social sharing on different post types, or with different conditions.
  • Change the social sharing options so they only display on blog posts and projects by default.
  • Add Text Domain
  • Make cookie banner text filterable.
  • Don’t display social sharing buttons if no url can be found.
  • Generate social sharing url from $_SERVER properties if the permalink does not exist for some reason. Also escapes the social sharing url to be sure it’s safe.

1.6.2 – 3rd September 2019

  • Fix issue with heading anchors escaping output, which may break other html that has been inserted with filters.

1.6.1 – 3rd September 2019

  • Remove console.log
  • Make cookie js work better with older cookies.

1.6 – 2nd September 2019

  • Add new module that disables urls in comment forms.
  • Add new module that speeds up 404 pages for static files.
  • Add additional features to the cleanup module.
  • Change heading anchor priority so that heading anchors get added before other modules that may introduce heading elements.
  • Tweak module CSS to improve theme compatability.

1.5 – 31st August 2019

  • Add support for responsive videos.
  • Add heading anchor module. This adds anchors to headings in the post/ page, for easy deep linking.
  • Add a random redirect module. It allows you to randomly link to a blog post.
  • Make the social sharing links load a little later so they stay at the end of the post.

1.4 – 29th August 2019

  • Fix cookie notification padding.
  • Call a function when cookies are accepted. We can use an action to output the code this is executed. This allows us to add tracking codes.

1.3 – 28th August 2019

  • Add lazy loading to iframes and avatars as well as post content images.
  • Add featured image from attachment module. Reduces the liklihood of missing featured images.
  • Improve the settings screen on small screens. You now have the option to see the description and page weight on mobile.

1.2 – 26th August 2019

  • Add a css custom property for setting the spacing in the css. --toolbelt-spacing. Change the value in your css to tweak the margins and padding used.
  • Include the module css using a single function. This allows the styles to be disabled per module, or globally, without littering the code with filters and conditions.
  • Add basic css for breadcrumb styles

1.1.2 – 25th August 2019

  • Improve related posts. Previously the category restriction wasn’t working properly. It is now! Results should be more accurate.
  • Don’t create portfolio post type if jetpack portfolio exists.
  • Make sure related posts return the cache even if the posts are empty (ie if there’s only 1 post in the category)
  • Allow the admin to be disabled with a constant ‘TOOLBELT_DISABLE_ADMIN’

1.1.1 – 24th August 2019

  • Ensure the related posts cache is cleared so that the portfolio related posts work properly.

1.1 – 23nd August 2019

  • Add filter for disabling related posts within a theme, and a function for echoing related posts wherever you like.
  • Add svg icons for social links.
  • Display the page impact of each module on the settings page.
  • Add social links menu.
  • Ensure related posts exist.
  • Allow related posts to work with other post types.
  • Add related posts to toolbelt portfolio post type (when it is enabled).
  • Add a tool for converting Jetpack portfolio items to Toolbelt portfolio items.

1.0 – 20th August 2019

  • Initial Release