2024
Digital lead conversion requires a sophisticated, multi-dimensional approach that goes beyond traditional marketing techniques.
How to validate a phone number against the North American Numbering Plan with only JavaScript, no APIs required.
Simple overview of Google Analytics: what it is, why you might need it, and how to set it up.
Simple and effective ways to load CSS and JS modules in a custom WordPress theme from scratch (no frameworks).
Growing list of CMS alternatives to WordPress.
Automattic has hijacked the Advanced Custom Fields Pro plugin, and will be releasing it as "Secure Custom Fields" in the coming week(s).
How to create a custom WordPress theme that's very basic for easy learning.
Tips on cleaning and importing large CSVs into BigQuery.
Properly configuring CloudFlare caching rules for your WordPress website is the best way to make your website extremely fast.
Pros and cons of extending the built-in WordPress REST API with custom endpoints.
Ways to reduce query and storage job costs in BigQuery.
Guide to syncing Google Search Console data into BigQuery daily using Google's native data exports.
Automated daily syncs from Hubspot into BigQuery without expensive ETL costs, using an alternative to Google Integration Connector.
Host your own open-source CDP platform to replace expensive software like Segment or FiveTran.
Should you really use a WordPress plugin for that? See how 11 lines of code can replace 87,907, and why that's a major advantage.
How custom WordPress themes are built, with real world examples.
Complete list of all built-in email notifications sent by a WordPress, and how to disable them
.
Use the official ChatGPT CLI to ask a question and receive an AI answer on the command line.
The best way to delete thousands of WordPress posts, pages or post types.
Loading JS modules in WordPress with the new wp_enqueue_script_module function.
Content management systems used by large enterprise businesses, with live examples.
Drastically speed up the WordPress admin with 3 lines of code.
Simple, secure way to remotely connect to a WordPress database at WPEngine.
When PHP notices and warnings appear during a WP CLI command issues can happen that can cause scripts from completing properly.
2023
How to submit HubSpot forms using the HubSpot Forms API.
Advanced details on finding slow WordPress queries, and fixing them.
Block access to the wp-login page based on the connecting user's IP address.
Limit access to show only specific data to certain users or groups in Google BigQuery.
Prepare your WordPress website for a SOC compliance audit.
Advanced tactical tasks for securing a WordPress website.
The most probable causes of a slow WordPress website.
DIY approach to server-side event tracking with Laravel + Redis.
WordPress is the #1 tool used to build websites, powering over 40% of the websites online today.
Serve all WordPress website visits from https:// and not https://.
How to remove all [srcset] attributes from images in WordPress.
Useful BigQuery examples for querying Google Analytics 4 data.
Redirect an entire domain in CloudFlare, forwarding all non-WWW traffic to WWW, or WWW to the root domain, at the page level with a single rule.
Deploy updates to Kinsta with git push, utilizing the same approach as WPEngine under the hood.
How to disable all built-in RSS feeds in WordPress.
Creating valid SSL certificates for localhost web development, supporting one or many local domains.
Adding and updating custom campaign types and member status values for your SalesForce campaigns.
Programmatically add a user to all sites in a WordPress multisite network (WPMU).
Automatically fix typographic widows to avoid a single hanging word on its own line.
Track conversions for TikTok ads with high match rate attribution using both the Pixel and Events API.
On 1/18/2023 numerous WordPress sites using the Roots Sage theme began experiencing issues on WPEngine.
Calculating an age in years, months and days from a user provided birthdate (MM/DD/YYYY).
2022
How to track your Hubspot form submissions in Google Tag Manager, step by step.
Stop WordPress form spam in Gravity Forms with custom spam filtering rules.
Steps to fully uninstall Elasticsearch from your server.
The best way to track Marketo form submissions as conversions in Google Tag Manager.
Work with Drift's built-in Google Tag Manager events to simplify event tracking.
CloudFlare began rate limiting images.
Simple CSS rules to remove box-shadow from one side of an element.
How to start, stop and restart MongoDB from the command line.
Custom corporate branding for Zoom landing pages, emails, and more.
Previews and names of all available Apple News supported fonts.
Create your own rules to stop form spam submissions on your WordPress website.
Configure transactional email for WordPress that's reliable using
an SMTP Relay or an HTTP API.
How to track unique pageviews in GA4.
Why is your WordPress admin so slow? It's probably
HTTP API requests made by premium plugins.
Automatically targeting prospects that are most likely to become paying customers
is one of the best ways to lower customer acquisition costs.
How to define custom conversion events in Google Tag Manager,
and why it's a good approach to follow.
Fixes for a common WordPress database error: "Table is marked as crashed and should be repaired".
Validate a US Social Security Number (SSN) with
JavaScript, PHP, Python, Ruby and more.
A recent update to the popular SVG Support WordPress plugin may cause broken SVG's on your WordPress site.
A simple pattern I use to validate emails.
2021
WordPress editor stylesheets won't load external assets with @import rules, but there's an alternative approach you can use to load fonts into the Gutenberg editor.
"SyntaxError: Cannot use import statement outside a module" is a common
Node.
Track, log and notify team members when changes are made to a WordPress website's file system, database and DNS.
How to style a <select> dropdown placeholder value in a way that
is similar to the CSS ::placeholder pseudo element.
How to update an Advanced Custom Fields (ACF) repeater field programmatically.
2020
The simplest way to get WordPress post content by post ID.
Create a WordPress admin user with PHP to login to a site with only FTP access.
Automatically generate an ordered reference to all
action hooks and filters for a WordPress install.
How to fix `cURL error 60: SSL certificate: unable to get local issuer certificate` errors in localhost WordPress environments.
Selecting an option by its text label, getting the label for a currently
selected option, selecting an option programmatically and more.
Practical examples of JavaScript module patterns
and how to include them as a dependency.
Simple commands to export and import all
MySQL databases that exist on a server.
2019
Quickly get Moment & Moment Timezone working in an
Angular CLI TypeScript project.
The simplest way to format numbers and floats as
currency strings in JavaScript and TypeScript.
How to safely display any HTML in an Angular component
without escaped or encoded characters.
Solving "failed to send buffer of zlib output compression" errors in WordPress.
Ionicons 4 include a native web component that doesn't
work in an Angular app, here's a quick and easy fix to solve the problem.
How to get the Mac Dock app working
on multiple external display monitors.
To change the width of the WordPress Gutenberg editor you need to load custom CSS rules for it.
Simple tasks are often confusing the first time you handle them in Angular.
2018
The best way is to install the official Classic Editor
plugin created by the Automattic team.
Run a quick, effective scan of your business
website for ADA accessibility compliance.
Big list of enterprise WordPress websites
for Fortune 1000 companies.
Automatically fix hanging words (or typographic widows) in WordPress
content using this helpful function to filter the_content().
Make your WordPress dropdown menus WCAG 2.
Simple, effective way to disable the WordPress
REST API if you're not using it.
How to fix a "Uncaught Error: Syntax error, unrecognized expression"
JavaScript error when working with jQuery 2.
2017
Highly useful search operators for Google that can be
used to refine and finely tune search results.
Over the past 10 years as freelance web developer I've learned important
lessons about business, relationships, money and life.
Tips to help you find and fix this common XHR JSON API syntax error in JavaScript:
"SyntaxError: Unexpected token < in JSON at position 0".
Automatically indent HTML files on save in Sublime Text.
Parse Markdown in Timber/Twig templates with
this custom twig filter/extension.
Safely change the name of a WordPress plugins admin
menu using the following function.
Building single page apps inside of a WordPress plugin.
Quickly add a git remote for
an existing Heroku app.
Find & fix malicious 301 redirects to seonix.
Express.
Real world examples of angularjs $http and $resource cache, including how
to work with localStorage and sessionStorage.
Define your own custom tag delimiters to change {{ myScopeVar }}
to your own syntax, such as {! myScopeVar !}.
How to create AngularJS directives that are only allowed for a specific HTML element or tag.
Reduce a JS build task with Uglify from 15-20 secs to 500ms.
Having trouble with user enumeration, or maybe you have notices in your
error logs about "Preventing Possible Attempt to Enumerate Users"?.
As of 2017 here are the two best ways I’ve found to handle the transfer of a WordPress database from development to production.
Search within a taxonomy by patching the way WP_Query
handles the MySQL GROUP BY clause.
Get Your Express.
PHP's $_POST won't work with a content-type of application/javascript.
Track client-side JavaScript errors as Google Analytics events using
Google Tag Manager and avoid error logging software.
2016
Avoid using any of WordPress' built-in taxonomies and post types names to
avoid collisions when creating custom taxonomies and post types.
Steps to reset geolocation prompt's in Google Chrome, useful for for testing
navigator.
Handle on enter key press events in Angular
using this simple directive.
2015
A free, open-source way to record your screen as an animated GIF.
Quick way to make a simple pulsate
animation using CSS3.
Determine equality for two JavaScript objects.
Check if WordPress content was created using the
SiteOrigin's Page Builder or built-in editor.
Presented at the February 2015 Boston Node.
This simple regex rule makes wildcard find and
replace routines easy in Sublime Text.
2014
Simple way to serve static HTML, images, stylesheets and scripts with Node.
Sample page content for testing CSS against the
HTML output of the WordPress TinyMCE editor.
How to use meta boxes to effectively manage
web layouts beyond the editor.
Lessons learned integrating Pardot,
WordPress and Gravity Forms.
Use this function to remove the "Posts" menu and
posting area from the WordPress admin.
The Dublin Core is a relatively up and coming metadata standard that assists with describing a digital document or resource.
2013
For use as custom post type menu icons.
Quite often I encounter situations where it’s useful to know what functions are affecting a particular WordPress hook.
Grabbing a YouTube video thumbnail is easier than you’d think.
I get a lot emails asking how to hide that a site is using WordPress.
Running code only when it is needed is an important aspect of resource management in JavaScript.
Using is(":checked").
Redirecting to another page with JavaScript & jQuery is easy.
Using is(":visible") or is(":hidden").
If you want to create an unordered list in HTML (<ul>) that lists items horizontally while maintaining the bullets this bit of code should help you.
Copy the icon characters from this table, and paste
them directly into Photoshop.
Examples of content curation done right.
The Roots theme for WordPress is awesome, and so is WPEngine.
Over the past few years WordPress has quickly become the most popular publishing system on the web, powering 17% of the internet.
So you’ve been tasked with leading the re-design of a website, but you have no idea how to find a good web designer.
As far as blogging platforms go, WordPress is by far one of the best and most flexible – and when used properly can be used as a casual “blog” or even a more corporate website and product sales site.
I’m constantly trying to improve my WordPress development environment.
2012
Today is the big day, I’ve begun upgrading various installs to WordPress 3.
All code samples have been moved to a GitHub Gist.
All code samples have been moved to a GitHub Gist.
In WordPress you can conveniently display, run or show something when certain conditions are met using conditional tags.
During the process of working today I came across a CSS issue with vertical-align and two inline-block elements next to each other.
If you manage a WordPress blog with multiple authors, you’ve probably experienced issues with slow loading images.
Let’s take a look at some of the best SAAS website designs on the web, and analyze what they’re doing to drive sales and high conversion rates.
Testing is a very important part of the web design and development process.
A mailto link is great fallback for situations where a contact form isn’t practical.
I’ve been building a curated resources section for kevinleary.
I use MAMP Pro for my Mac OS localhost WordPress development environment.
I’m in the process of finalizing a content curation WordPress plugin, and this little tidbit just saved me some time.
Most of you probably use the_date() or the_time() in WordPress themes and plugins to display when a specific page, post was published.
During development today I received a nasty Checksum mismatch Subversion (SVN) error during the commit process in my editor, Coda.
I do all of my WordPress development locally, and typically deploy that to a staging server, or sometimes a live server, using Beanstalk’s SVN deployment feature.
This is a test page for the Responsive Video Embeds plugin.
During the process of migrating the DNS for Openviewpartners.
WordPress & The Expectation of "Free".
Lately I find myself re-using these handy bits of code in many of my WordPress themes.
WordPress has an extremely powerful, lesser known trick to easily let you view and edit a complete list of all the editable database settings for your site, including fields added by plugins.
Thanks to the hard working developers at Automattic, and the many contributors to the WordPress plugin repository, the API’s, plugins, and development capabilities available to WordPress theme developers and website managers is tremendous.
Over the past year Facebook, Twitter, LinkedIn, Google+, and other social media websites have continued to gain popularity around the web.
2011
WordPress allows you to add a description, caption, title and link onto any media attachment.
Allowing your users to share your content in the easiest, best way possible is important these days.
All code samples have been moved to a GitHub Gist.
Have you ever noticed that an unwanted popup tooltip appears when you hover over an image in WordPress? This is created by the title attribute that is automatically added for many image attachments (including post thumbnails).
When I began working with API’s a few year ago I was incredibly excited.
Browser cache can speed up a website tremendously, but it can also cause web development headaches in the process.
There are a more than a few ways to setup WordPress pagination, or “paged” links, in a WordPress theme.
LESS for CSS is incredible! I’ve been using it on literally everything I do since the beginning of the year.
With Google now considering site speed as a ranking factor, it’s important to keep your site running at it’s fastest.
When you start to use WordPress as a CMS you begin to realize that one WYSIWYG area isn’t going to cut it.
Microsoft Word works great for creating stationary and printed documents.
Avoid becoming a social vegetable A close friend constantly jokes about my new remote role, claiming that it won’t be long before I’m a social vegetable.
LESS will make your CSS coding incredibly easy to maintain and iterate on in the future.
I hit a little snag today while trying to connect to MAMP using the OS X Terminal.
This has been released as the Visual Editor Biography Plugin in the WordPress Plugin repository.
It’s a common design pattern for search engines to display the total number of search results found.
Loading resources from a CDN is a great way to improve website performance.
With WordPress being honored as a Hall of Fame CMS for 2010 by Packt Publishing, it’s worth mentioning some well designed websites powered by it.
So you’ve just received approval to launch your website redesign project.
There are many plugins available that handle this, but sometimes a simple solution works best.
Before launching a new WordPress site it’s your responsibility as a developer to ensure that the URL structure currently indexed by search engines is preserved for SEO value.
I was recently tasked with researching SEO best practices for YouTube videos.
The average web user doesn’t know much about search optimization and will usually enter a person’s name as expected (“kevin leery”) with no quotes or spaces.
Steve Sonders outlines essential rules for speeding up websites on the front-end in his book High Performance Web Sites.
At the most basic level WordPress requires PHP 7.
It is surprisingly difficult to do this share a page link from iPad Safari to Twitter.
The best way I've found to process URL parameters
with JavaScript in the browser.
Hulu.
Automatically formatting currency fields for users can improve usability, and make things easy to process for form administrators.
jQuery cookie makes it very easy to create, update and access information using cookies.
WordPress has built-in the SimplePie RSS parsing engine, making it very easy to display the content of an RSS feed in your theme.
I’ve been curious about the possibilities of leveraging public API’s to create applications, so I decided to create a small application to make my life easier.
Once you have a 16px by 16px PNG, GIF, JPG or ICO file adding a favicon, or favorite icon, to your website is easy.
This snippet will add values to an associative array.
WordPress has a custom configuration of TinyMCE built-in for rich text editing.
This basic mobile_user_agent_switch() function will allow you to use PHP to detect iOS and mobile device visitors using one of the following: Supported Devices iPhone iPad Android Blackberry The mobile_user_agent_switch() Function /* * Mobile device detection */ if( !function_exists('mobile_user_agent_switch') ){ function mobile_user_agent_switch(){ $device = ''; if( stristr($_SERVER['HTTP_USER_AGENT'],'ipad') ) { $device = "ipad"; } else if(….
The base_get_all_custom_fields() function will run a database query to get all custom fields attached to the current page, post or post type and store them in an array.
2010
There are many ways to test a website in Internet Explorer.
Be warned! Several people have experienced a nasty bug with this fieldset duplication method.
TechCrunch has just announced the release of a new WordPress Theme Framework called PageLines that focuses on providing a drag and drop, professional CMS theme framework.
I’ve started to you Typekit on my site and various projects as a replacement for Cufon.
Having a fast load time is a very important, and often overlooked, factor in running a successful website.
One quick and easy way to increase the experience for your clients is to add a custom maintenance page design to WordPress.
I recently realized that Google automatically adds the_time() or the_date() output into the beginning of my descriptions on their SERP’s.
With WordPress 3.
Don’t get me wrong, out of the box the WordPress admin rocks.
Recently I needed to develop a diagonal menu, which at first glimpse seemed completely do-able.
Due to popular demand, I’ve added another list of premier WordPress CMS plugins for use specifically those trargeted at tapping into the new 3.
To help folks stay up to date with some of the latest and greatest CMS plugins I’ve decided to feature new, up and coming WordPress plugins on this post.
Use the Use Google Libraries plugin to replace all JavaScript libraries used in WordPress with Google hosted libraries.
After attending an Event Apart Boston I’ve started to really see the potential of CSS 3.
It’s been a long time since I wrote this article.
It looks like the developers who created More Fields have been hard at work in order to accommodate the upcoming release of WordPress 3.
WordPress 3.
Recently I made the switch from Dreamhost shared hosting to virtual dedicated Media Temple setup.
The WordPress WYSIWYG/TinyMCE editor is great but can’t fulfill the needs of a robust CMS.
It’s great that WordPress has a search feature built in, but it’s not the most powerful engine and has various usability issues.
2009
I recently received this email from a reader, and wanted to address it here for everyone.
If you’ve ever modified a WordPress plugin to suite your needs you know how frustrating the auto update feature can be.
We are pleased to announce that WordPress has won the Overall Best Open Source CMS Award in the 2009 Open Source CMS Awards.
To quickly and easily add an automatic, rich text signature to your Gmail account check out the Wisestamp addon for Firefox.
I’ve always kept my eyes open for a fresh WordPress starter theme to use for my next custom theme project.
I’ve always known that something wasn’t quite right with corporate websites, and after seeing things like Dustin Curtis’ mockery of American Airlines, I couldn’t help but explore the topic furthur.
Sometimes words do matter.
WordPress is quickly becoming one of the most well known open source PHP platforms for content management.
WordPress has robust login system built in that is often under used because of it’s design restraints.
1.
Ryan Taylor has been putting together a great series of interviews with web industry leaders.
The web agency I work for, Fresh Tilled Soil, has just launched a re-design for Blu Homes that’s built on top of a WordPress CMS.
WordPress is well known for it’s blogging capabilities, and it’s not too uncommon to hear of it being used as a CMS.
Broken links aren’t fun.
Justin Tadlock has just released Query Posts Widget for WordPress 2.
Today I was working on a project that had a strange bug affecting only Firefox on Windows.
I was recently working on a project that had some issues in Firefox 2.
I love the ease of use and rich feature set of the AddThis social media service.
I had a great time tonight speaking at the Boston WordPress Meetup.
If your having issues importing a large (more than 20MB) WordPress XML File (WXR) you can fix it by increasing the amount of memory PHP is allowed.
I’ll be presenting at this month’s Boston WordPress Meetup.
WordPress is incredibly powerful as a blog platform but can also be used as a CMS (content management system).
All in One SEO for WordPress is a powerful plugin that will quickly make your WordPress Websites’ SEO (search engine optimization) rock solid.
One often overlooked, very important step to setting up a WordPress website is creating a solid backup process.
One of the toughest things about developing a website on a Mac is cross browser testing.
I’ve re-written a far better guide to WordPress optimization for speed.
1/13/2011 – New and improved function used for retrieving custom field data for the current post called base_get_all_custom_fields().
While browsing around the web I managed to find some amazing photos published by the NOAO, or National Optical Astronomy Observatory.
WordPress is well known as a blogging platform, but it can easily be turned into an incredibly powerful CMS if used right.
To highlight comments posted by the author in WordPress, add the following code to the comments.
While working on the Corporate Filing Solutions project I came across an issue with the jQuery scrolling quotes and Internet Explorer.
WordPress lacks one key feature for advanced developers using it as a CMS platform.
VKI Studios has created a FireFox Greasemonkey plugin to add social media statistics to your Google Analytics dashboard.
So you’ve signed up for Google Analytics and you want to set it up on your WordPress blog.
GeoIP technology allows us to detect where a specific user is located based on their IP address.
If content is king, it’s time we siege his castle, overthrow his vast kingdom and re-organize his army.
Google Now provides an easy way to Sync your Gmail Calendar with your iCal Calendar using a Mac OS X application called Calaboration.
Just stumbled upon this little gem on YouTube Written by The Poetic Prophet (AKA The SEO Rapper) the song describes how web standards and proper design can affect the ranking and conversion of pages on your site.
2008
How it works Social bookmarking sites allow websurfers to save, catalog, and share interesting pages they find online.
Google Analytics If you’ve just started to use Google Analytics and aren’t sure which reports to look at, this video provides a helpful 1st-time analysis walkthrough.
Any blog owner has an interest in search engine optimization / marketing whether they know it or not.
Today I came across a service I think has the potential to be pretty valuable.
I’ve noticed that when I use the jQuery .
Here’s a common web development scenario: How do we highlight the current page in a navigation seamlessly and dynamically? The answer is jQuery.
You may want to check out the reCAPTCHA Mail Hide service, it provides better protection than the method described here.
Have you ever wanted to provide forms with default values or examples to improve user experience? Here’s how you can do it in an easy, re-usable way using a jQuery plugin called valueFx.
Web standards praises the idea of separating presentation from content.
The more I find myself using JavaScript, the more I begin to worry about the weight of my pages.
I find myself using JavaScript more and more often in my work.
While working on the KMC Partners website I stumbled upon a cross browser issue using jQuery’s AJAX $.
When connecting to a new project via FTP I will occasionally come across .
There is a newer version of this post available called jQuery Mailto Links Plugin: Version 1.
Taking advantage of shortcut keys can save valuable time, speed up your workflow and increase productivity.
I came across a dilemma recently.
There is a newer version of this post available called jQuery Mailto Links Plugin: Version 1.
This article will show you how to use the jQuery JavaScript library to create a search field displaying a value such as “Enter your search terms here.