I wrote all of the plugins listed below; they’re all components of our internal toolset for building sites. They’re primarily intended for developer use, particularly with Genesis themes, but many of them are compatible with any WordPress theme. You’re welcome to use them! Over the last decade, I’ve created hundreds of private repos and contributed to a few as well. These are the ones I use over and over again.
Each of the repositories below are key to building sites our way.
The basic setup of most of my sites is similar – we start with a vanilla Genesis starter theme, based on the Genesis Sample theme (but Sassified and with preconfigured taskrunner tooling via gulp to automate stylesheet compilation). We then give sites the ability to use consistent, simple shortcodes to pull in the various types of content you might want to display in structured ways with our Simple Query Shortcodes plugin.
Simple Query Shortcodes
The power of this plugin is the ability to do a simple WordPress query, then connect it up with a custom layout (defined in either a theme or plugin with a few simple lines of code). Works with custom content types and taxonomies as well, and powers many of my other plugins.
This is my starter theme (with continuing development since mid-2019). This was forked from the Genesis Sample theme and includes a ton of functionality that helps make things feel more automatic when I’m developing a new custom theme. This is the theme in use on this website (I’ve made a commitment to use my own vanilla starter theme long-term on this site). Likely I’ll restart this every 2-3 years.
Each of the plugins below do basic setup for a particular content type.
All of them include a content type, and most also set up a custom taxonomy (categories), custom meta information, etc. Where appropriate, some of these set up custom single or archive templates, and many of these register custom layouts for use in setting up grid-based displays through a shortcode (see also: my Simple Query Shortcodes plugin, which powers these sorts of layouts.)
Elodin Affiliate Products
A simple plugin to allow for easily showing affiliate products by category, displaying a title, featured image, and excerpt about each one for external purchase. Includes a taxonomy for categorization as well.
Sets up a few different ways to display staff members. In all cases, we use a lightbox-based approach for these, as it’s extremely common to have situations occur where you don’t have identically-situated information for various staff members.
Makes job listing addition simpler by adding the ability to create job listings to a site, then registers widget areas above the content of the listing (for any legal notices), below it (for a form to take applications), and on a sidebar (generally, to show additional job listings).
Sets up several different ways of displaying your company’s services in a logical way; this plugin allows for categorizing your services and displaying them in a carousel slider, then uses Gutenberg layouts for setting up an individual page for each service.
This plugin allows for simple display of testimonials on your site in feature sliders (showcasing just a few) or in a flexible ragged-edge grid (intended for building social proof by displaying hundreds of testimonials together).
Allows for simple display of sets of logos. Really, this is for use whether you’re showing client logos, vendor logos, or any other kind of logos – the goal here is a simple way of showing logos (with optional content lightbox and/or a link to a site) without having to crop anything, so it flexibly resizes the logos on your site.
Starting in late 2020, I made the choice to start creating some general-use Gutenberg blocks for my own use.
The reason is simple: I don’t like installing multiple block libraries on my sites. So, for example, background video functionality is available in the Gitwid library but not in the Atomic Blocks library, and I only want one plugin library per site. So, I’ll need to write a container block that has all of the capabilities I’d generally want (parallax images, background sliders, background video, etc.) and use that instead. I also like the checkerboard design pattern, which doesn’t really exist in any of these plugins.
Similar to the GetWid or Atomic Blocks “container” block, this one is just called “section.” It allows for fullwidth backgrounds, adjusting the opacity and image saturation, and it also enables background video (with local hosting). Unlike either of the other two on this list, it helps me speed up development by not having to enter padding attributes for every section, working instead off of defaults that can be set inside the theme.
A block which allows for an image next to content, where the image touches the edge of the screen. Also allows fades between the image and the background color, a parallax effect, and positioning the image on the left side or on the right side.
Overlap links block
A block that allows for the display of a few links next to each other, along with images and a bit of text, where this entire block is sandwiched between two section blocks. Shown on the home page of Brindle Digital’s Lola theme for apartments.
Featured Links Block
A block which allows several links to be presented next to each other with background images – just a relatively simple way to highlight a few parts of a site. Includes spots for a title, excerpt, the link itself, the featured image, and allows for the link to open in a new tab.
Plugins for a specific need – that many sites might have.
The plugins below meet a very specific need, but a need that can be generalized to the point where I’m likely to need the exact same feature set on a number of different sites.
A quick implementation of clipboard.js for WordPress. This simply enqueues and initiates the script, then sets up a capability, when an items is clicked, to copy that to the clipboard, briefly show the word “Copied” in place of the copied text, then flip back. Works multiple times on each page.
A plugin which sets up alternative default styles for gravity forms, oriented toward client requests to use placeholders instead of labels.
Gravityforms entry count shortcode
Allows for easy display of the number of entries a form has, and includes a progress bar shortcode as well.
A shortcode-based implementation of the counterup jquery library, making it simple to add countup functionality to numbers in a site.
Scroll to the Top
Quick and simple scroll-to-top functionality so that I don’t have to code this (relatively pointless) functionality over and over again at client request.
Ever get frustrated that WordPress galleries can’t link to lightboxes? This plugin does that, and allows for photos and videos to be simply linked for use in popups.
Elodin Mobile Header
Adds a widget-based solution to mobile navigation, allowing for multiple navigation menus on mobile. On Genesis themes, this also automatically hides the desktop version of the site header.
Elodin Notice Widget
This plugin has been helping me meet the needs of clients during COVID-19. It sets up a lightbox-style notice on every page of a site which can be minimized or dismissed and will retain state between pages and comes back to a user every six hours. Great for quickly posting urgent notices that you want every visitor to see.
Plugins that used to fill a vital role, but are no longer advisable to use on new installs.
An ACF-based page builder for Gutenberg. This was built in the window between the release of Gutenberg and native support for nesting blocks, filling a critical gap on a number of client sites. However, there are now better ways to build all of the same sorts of sections, and this plugin is no longer needed.
An ACF-based page builder for pre-Gutenberg versions of WordPress. This functionality is still in use on hundreds of sites I’ve built, but is no longer the right functionality for new installs (because Gutenberg is better).