WP Send
WP Send is the simplest way to send your files around the world. Share large files with configurable filesizes and…
WordPress Plugins – Focus Update
“Every 3-6 months, it’s smart to take a step back and see if you are still on the path you…
Lighthouse – CAPTCHA, Akismet Integration and Spam Registration Hooks
I am excited to announce the latest release of Lighthouse in 2024, the WordPress performance tuning plugin that removes a…
New ImagePress release, new profile editor UI and lots of issues fixed
The latest version of ImagePress decouples the user profile hooks from the front-end profile editor. The reason is that, when…
Mingle Forum Refactoring, Dogfooding and More
I have just launched version 3 of my Mingle Forum plugin. Yes, forums are a dying breed, and that’s why…
The Golden Age of Forums
Do you remember forums? They’re still around, obviously, but do you remember the golden age of forums? Every developer or…
How to Build a Multi-User Image Gallery in WordPress: A Comprehensive Guide
So, you want to build a specialized online platform designed for artists, particularly those in the fields of digital art,…
ImagePress – User Onboarding
The latest version of ImagePress has a new feature: onboarding. It's something that every plugin should have, and this is…
tail.select is getting an update
The tail.select JavaScript library is getting an update, jumping from 0.5.x to 1.0.0, and breaking custom functionality.
Advantages of PHP 8.3 with WordPress
I have upgraded my hosting server to PHP 8.3 for all my WordPress and non-WordPress websites. While I am yet…
How to build a block editor sidebar using vanilla JavaScript
This article will explain how I moved away from the True Metabox plugin and coded my own sidebar for a…
20 essential steps in payment gateway testing for your WordPress plugin store
We have recently updated the user interface for our WordPress plugin store. We have also updated the customer experience with…
How to remove spam users and prevent spam registrations
A client of mine had an old website that grew uncontrollably large with thousands of spam registrations, spam posts, spam…
JavaScript Game: Obstakl
Obstakl is a game where the player needs to avoid moving obstacles, by controlling the main character using the mouse.…
JavaScript Marquee: A collection of scrolling text snippets
I have started to consider adding scrolling text into my design process. I started by using a CSS-only approach. The…
JavaScript Numbers: A Modern Reference
JavaScript is a dynamically typed language, and it doesn’t have specific integer or floating-point types, unlike some other languages. In…
How to Enable JavaScript
How to enable JavaScript in your browser and why Nowadays, all web pages contain JavaScript, a scripting programming language that…
Fast and accessible JavaScript client logo carousel
If you want to use the logo carousel as a WordPress plugin, see How to Create a Logo Carousel as…
The Musk Algorithm
Walter Isaacson’s new book about Elon Musk is a fine biography, but an even better business book. And like all the best…
Segmented Horizontal Bar Chart (Graph) Using Vanilla JavaScript
If you're looking to create a segmented (stepped) horizontal bar chart using nothing but vanilla JavaScript, you're in luck!
How to allow subsite administrators to edit users in a WordPress Multisite Network
WordPress Multisite is a powerful feature that allows me to manage multiple WordPress websites (or subsites) from a single installation.…
How You Can Join Successful Sellers Running an Amazon Business from Home
If you follow technology trends in recent years, you can’t help but notice the number of people running their Amazon…
A simple JavaScript suggestion autocomplete app
These days, I’ve been working on building a prediction search engine for real estate websites. I started with something small,…
How to disable and remove old post revisions in WordPress (including multisite)
If you don't want to use a plugin to clean up your WordPress website and insist on custom coding it,…
How to add a Media Manager button to a block editor metabox
How to add a "Manage Media" (remember "Add Media"?) button to any post type and allow users to attach images,…
A collection of modern native JavaScript object and array utilities
Arrays Chunk Creates an array of elements split into groups the length of size. Compact Creates an array with all…
How I am tracking my WordPress plugin updates on my own update server
I am selling my WordPress plugins, and they all come with a lifetime updater feature. Most of my plugins, including…
How to get all videos from a YouTube channel using PHP and JavaScript
The code below works with multiple channels. First, we need to loop through all channels and get all videos. The…
How Active Analytics Stores Data Without Slowing Down Your WordPress Database
I have released a new version of the Active Analytics plugin for WordPress. This version focuses entirely on data storage,…
How to set up your own Google CrUX report
As part of decommissioning the Core Web Vitals report from Lighthouse, here’s how the CrUX report has been built. If…
Lighthouse is removing the Core Web Vitals and CrUX features
Why? There are multiple reasons and multiple factors involved. There are a few key reasons behind this change, all of…
How I tackled WordPress registration spam
For a while now, I have been using Mika’s Ban Hammer plugin with a custom list of blacklisted domain names…
Tracking pageviews, sessions and unique users in WordPress using Active Analytics
For almost 2 years, I’ve been tracking WordPress visits using my Active Analytics plugin. I’ve gradually removed Google Analytics from…
QuakeWiki.net is changing owners
It’s time for me to pass the torch to another huge Quake fan – Spirit from Quaddicted.com. I’ve been the…
How to code a website security audit using PHP and WordPress
This tutorial will teach you how to build a website security audit in the form of a WordPress plugin. We…
JavaScript Canvas Sine Wave
The code below generates a sine wave with a specified amplitude, frequency, and phase. The wave is drawn on the…
Check DNS records in bulk using JavaScript
If you’re a web developer or network administrator, you know that DNS records play a crucial role in ensuring that…
How to Replace Slider Revolution with Flickity and Gain 50+ Performance
This is a short story about WordPress website performance optimization. A recent project of mine involved optimizing a website, currently…
Thin Table Pagination: A new addition to my JavaScript repository
I wrote about client-side JavaScript pagination before, but I have never stopped searching for the perfect pagination method, both from…
The Impact of Website Speed on Conversion Rates
Although content, social media, paid marketing, and design all play an important role in setting up a successful online business,…
Admin Menu Tree Page View 2.8 Refactoring Update
This has been a long time coming, and it’s finally live now. For this refactoring update, I have employed around…
A Detailed Page Builder Comparison of Elementor, WPBakery and the Native WordPress Block Editor
This article is aimed at several of my clients, pondering which theme to use. There are countless comparisons out there,…
SEO Crawlability Issue: Resources are formatted as page link
While working on a SEMrush audit, I found a new type of crawlability notice: 47 resources are formatted as page link…
SEO, Adjacent Posts and Session Duration
Time on site, or session duration, is the total amount of time that a user spends on a website. A small…
When You Need to Get the Professionals Involved to Make Your WordPress Website More Visible Online
Even at the outset of your business venture, it is not too early to get professionals involved. In fact, you…
Missing Open Graph Images? Remove Image Hotlinking!
I have just found out that my image hotlinking solution was preventing social networks from reading my Open Graph image…
Custom WordPress Plugin Update Server
This is an automatic updater for plugins hosted outside WordPress.org. Currently, WordPress doesn’t have an easy way for plugins which…
Lighthouse Security Update: Brute-Force Login Protection
Security Update: Brute-Force Login Protection Have you heard about the latest update to the Lighthouse WordPress plugin? It just got…