Here’s how to create a custom WooCommerce Settings Tab and save the data to the database. We’ll use it to create a product add on by category.
Creating Custom Settings Tab on WooCommerce Settings Page – Product Addon by Category

Here’s how to create a custom WooCommerce Settings Tab and save the data to the database. We’ll use it to create a product add on by category.
More productive programming – setting header records on a spreadsheet dynamically with Google Apps Script
Lately I’ve been working on using Google Sheets to create dashboards for WooCommerce Order data. I want to write about it here, but since I can’t show you the sensitive customer data that is in my client’s site, I need
How to retrieve old messages from WhatsApp when you set the account up on a different phone number.
In this post you’ll learn how to create a WooCommerce product addon checkbox for single and variable products – from scratch, without a plugin!
Normally when you create copies of objects in JS you end up with a shallow copy, where nested objects are copied by reference. Here’s how to make a deep clone.
The this keyword in JavaScript points to different objects depending on the context it is used in. How does it change? Let’s find out!
It’s pretty easy to make an object in JavaScript once you know the syntax, but if you want to make more than one of the same type of object, it’s better to do it from some kind of blueprint. This post is all about factory functions!
How to stop Google from indexing your Uncategorized (or any) category and remove it from sitelinks on a SERP without a plugin.
An object is a collection of key-value pairs. To be useful, they should be logically related values. They can be created with object literal syntax, meaning that the key-value pairs are enclosed in curly braces and usually assigned to a