Start here — build anything

We build professional, high-quality, hand-crafted WordPress plugins and themes.

Premium NEW Free

All plugins are compatible with WordPress 5+, WordPress 6+, ClassicPress, PHP 7+, PHP 8+, and receive automatic lifetime updates.

The most powerful, amazing, and easy to use WordPress slider! No coding or professional design experience needed.

Get Vivid Slider

Measure and improve your website pagespeed and WordPress security with our WordPress Lighthouse performance & security plugin.

Get Lighthouse

Active Analytics is a privacy-enhanced, easy-to-use and lightweight WordPress analytics plugin.

Get Active Analytics

The best full-featured, modular, multi-user, WordPress image gallery plugin

Get ImagePress

Start your own greeting cards website with our WordPress eCards plugin.

Get eCards

Free WordPress Plugins

How to Create a Logo Carousel as a WordPress Plugin

You would be surprised to see many bloated alternatives to this simple task. Even in the age of the WordPress block editor, most solutions out there are overkill for what you actually…

How to Create and Manage Multiple WordPress Subsites in Bulk

My latest project involved a WordPress Multisite installation and 20+ subsites. As the websites were the same, both from a functional point of view and a design point of view, I needed…

How to Extend or Create Variations for WordPress Blocks

WordPress comes with a set of native blocks that should be enough for every designer. However, if you are a theme designer or a WordPress plugin developer, you can produce various styles…

How to Protect Your WordPress Website Against Malware Attacks

I wrote before about this topic, and I have proactively created WordPress plugins, code, and functionality to successfully prevent malware attacks on WordPress websites. The latest attack on my 400+ websites was…

PropertyPin – A Visual Bookmarking Platform for Property Images

By now, you should be familiar with my ImagePress plugin for WordPress. If not, here’s the gist: it allows website owners to create multi-user image galleries. It has some nice features, such…

Animated JavaScript Counter-Up with the Intersection Observer API

An animated counter is a more engaging way to present this information, as it gradually increases the value of the number from zero to its final value. In this tutorial, we will…

How to Get Dominant Colours of an Image in PHP

This feature has been requested by some of my ImagePress customers. It is also being used on my PropertyPin website. Basically, whenever a new image is uploaded, an array of 8 primary…

How to Completely Remove the Jetpack Plugin

This is mostly a note to myself. Jetpack is a well-used plugin on a number of sites and has over 5+ million active installations. But will all modules active, it can cause…

ClassicPress TinyMCE: How to Add Styles, Buttons, Fonts, Dropdowns & Popups

When I took over FX Builder and started updating it for the new ClassicPress 2+, I wanted to add some new features to the TinyMCE editor, something I use on a daily…

Moving to a System Font Stack (How and Why)

I believe the “why” in the title is self-explanatory. If not, it’s all about performance. Over the past decade, I switched from WOFF to WOFF2, then to variable fonts, and now I’m…

How to Build a Vertical Off-Canvas Menu Bar Using JavaScript and CSS

In my work, coming up with fresh navigation ideas and creating an intuitive and efficient navigation system is essential for enhancing user experience. One solution that stands out is the vertical off-canvas…

How to Build a Double Off-Canvas Menu Using JavaScript

Creating a double off-canvas menu can greatly enhance the user experience by providing accessible navigation options without occupying valuable screen space. This article will guide you through how I built a double…

Simplifying Conditional Statements in JavaScript with the && Operator

JavaScript provides several ways to handle conditional logic. One powerful method is the logical AND (&&) operator. This tutorial will show you how to use the && operator and avoid unnecessary if/else…

Grouping Arrays in JavaScript with Object.groupBy() and Map.groupBy()

In JavaScript, there often arises a need to group array elements based on a certain property. Prior to ES2024, this involved custom functions or using libraries like Lodash. However, ES2024 introduced a…

How to Correctly Configure GDPR Privacy and Google Consent Mode v2

For this tutorial, I will use the WP Google Consent Platform (GCP) plugin for WordPress. This is a two-step operation. Step 1 — Your WordPress Website First, install the WP Google Consent…

inView

Loading Images Based on Screen Visibility Lazy loading images is a technique that defers the loading of non-critical resources (such as images) until they are needed. This approach can significantly improve page…

Thin Select — Custom JavaScript Dropdown Element

Let’s create a custom <select> element using vanilla JavaScript and CSS. Thin Select provides a sleek and minimalistic design for <select> dropdowns. Here is what we’ll build: See the Pen Thin Select…

How to Create a JavaScript Spinner with Phenakistoscope Effect

In this tutorial, you will learn how to create a JavaScript spinner that mimics the effect of a Phenakistoscope, an early animation device that creates the illusion of motion by spinning images…

How to Lazy Load Google Map Iframe Embed in WordPress

If you embed a Google Map iframe on your WordPress website, you may notice an increase in the total webpage size and a slowdown in your website’s loading speed. This can be…

What’s New in the Latest Lighthouse Release

The last few releases of Lighthouse have been silent, and fixed or patched various issues with individual websites. I have a huge network of websites I’m testing Lighthouse on. Let’s break them…

Dark Mode for Lighthouse!

I’ve long wanted to add a dark mode to my WordPress back-end, but “thanks” to the block editor, it’s not that straight-forward. There are lots of styles and HTML “hacks” and quirks…

WordPress Plugins and User Experience

What happens when WordPress plugins reach maturity? At this moment, and I’m talking strictly from a code/design point of view, it’s time for micro-optimizations. User interface tweaks, user experience upgrade, improved contextual…

Unlimited Licenses Are Back!

We are excited to announce that Unlimited licenses are back! Once again, you can get Unlimited licenses for any of our WordPress plugins. Unlimited licenses are available for both yearly and lifetime…

How to Build a Front-end Password Reset Form in WordPress

I have just moved an entire user account module from the back-end of WordPress to the front-end. This includes the login form, the registration form and the user account section, where users…