This is my collection of WordPress, CSS, JS and PHP code

July 1, 2014 (10 years ago)

This is a personal collection of snippets I use on client sites. Some are original, some highly modified or cobbled together from other sources, and some copied (only from open sources such as this.)

I generally prefer not to use plugins for simple features and functions, especially if my clients don’t need options, which is quite often the case.

Free support for these snippets is probably not an option for your unique applications, due to my work load, but it never hurts to ask.

Copy, share and code on!

Gravity Form Email Validation by Domain

November 17, 2022 (2 years ago)
Functions, PHP, WordPress


Needed to allow ONLY email addresses from a specific client domain to be entered into a Gravity Form.

NOTES: Form ID = 2, Field ID = 9
Used strtoupper to allow as well as DOMAIN.COM.

Here’s the validation script:


Updated Clean Up Functions

February 3, 2022 (2 years ago)
Best Practices, Elementor, Functions, WooCommerce, WordPress

I’m currently using these functions in my new builds to clean up features I don’t use:

The last function removes all block library and WooCommerce styles, as I don’t use the block editor, and style my e-commerce pages using Elementor.


Display ACF repeater field

August 30, 2021 (3 years ago)
Elementor, PHP, WordPress

Advanced Custom Fields Repeaters are infinitely useful, but notoriously hard to display. Many plugins and page builders that allow ACF fields don’t support repeaters.

Faced with having to install and support a reasonably complex plugin only for this one feature, I wrote a shortcode to simply display the fields. It’s pretty simple, and this repeater only has one field.

To display this repeater in Elementor, use the shortcode widget, and enter: [show-required]
It can also be used anywhere else shortcodes are allowed.

Super Simple Floating Button

December 4, 2018 (6 years ago)

Forget complicated plugins with tons of options you don’t need.
Easily create a floating button on your site with this simple CSS:

Then just add this anywhere on your page or template:

In this example, I used the class ‘button’ because the styling for that is already in my theme. You can remove that class and add the styles in the CSS above if you like.

WordPress ScrollTo Hash

October 31, 2017 (7 years ago)
JS, WordPress

I needed to pass a hash, and scroll to the matching anchor on a new page.

Not as easy as it sounds in WordPress. (Pretty permalinks make it not work.)

After much testing and research, here’s the solution that worked best:

I added the “-150” after the offset to show the header above the anchor.

WooCommerce – Conditional Ship to a Different Address Selection

October 31, 2017 (7 years ago)
Functions, JS, WooCommerce, WordPress

The scenario is this:

The site has multiple shipping methods (multiple client locations, and the option to ship to “Other”.)

I wanted to show the address panel if “Other” location was chosen, and hide the “Ship to Another Location”  option heading on the shipping page if a client location was chosen.

None of this was strictly necessary, but it makes for a smoother customer experience.

This went into my functions.php file.

Then, this is the hide_ship_to.js script file. (uploaded to the theme directory)


Adding FontAwesome Icon to CSS

October 20, 2017 (7 years ago)

To add an icon using only CSS (for example, before list items), use this code:

Of course, you’ll need to have the FontAwesome font installed on your site.

Get the unicodes for icons here:

A Simple jQuery Accordion

February 27, 2017 (7 years ago)
Functions, JS

No need for the overhead of a plugin.

In this case, I have a custom post type for FAQs, where the title is the question, and the content is the answer.

This script hides all the answers until one of the questions is clicked.

Here’s the JavaScript:

And the HTML:


Then, this little bit of CSS brings it together:


Change the Text of Reset Password Email

September 25, 2016 (8 years ago)
Functions, PHP, WordPress

Send a custom message to users who request a password re-set:


Remove WP Version Number

September 23, 2016 (8 years ago)
Best Practices, Functions, WordPress

Prevent robot scrapers from easily finding out which version of WordPress you’re running.

Not a substitute for keeping WP updated, but a handy fallback for clients who may not.


Next »