I was a child of the 80’s and grew up on high-action American television shows, like the A-Team, Magnum PI, and Knight Rider. And let’s not forget MacGyver. The studly MacGyver made fame with his quick-witted resourcefulness and ability to wiggle out of tough situations with little more than a paper clip and some scotch tape.
What does that have to do with Genesis Extender? Using MacGyver’s knack for achieving maximum results with minimal resources, let’s look at some ways we can make big changes to a site with just a little effort, courtesy of the Genesis Extender Plugin (aff link).
1. Add extra style to site title
I wanted to spice up my site title style a bit, so I added an extra <span> to offset my first name from my last, like this:
It’s super easy to do. Add this filter to your Genesis > Extender Custom > Functions section:
/** Add additional style to site header */ add_filter('genesis_seo_title', 'cd_site_title', 10, 3); function cd_site_title($title) { $title = '<h1 id="title"><a href="https://carriedils.com" title="Carrie Dils"><span class="carrie">Carrie</span>Dils</a></h1>'; return $title; }
And then add some custom styles to Genesis > Extender Custom > CSS:
#title a { text-transform:uppercase; } #title .carrie { color: #666; font-weight: 300; }
2. Add a welcome widget area to the home page
First, we need to create a conditional so we know if we’re on our home page. Go to Genesis > Extender Custom > Conditionals and add in your conditional statement, like this:
Next, go to Genesis > Extender Custom > Widget Areas and create your custom widget area. I’m going to hook this one in using genesis_before_loop. If you want to better understand where hooks happen on a Genesis Framework page, try installing the Genesis Visual Hook plugin.
Boom! Your widget area exists. Just head over Appearances > Widgets and type in your welcome text.
3. Remove the default page title
This one is so easy, MacGyver doesn’t even NEED a toolbox. Go to Genesis > Extender Settings > General Settings and enter the page or post ID for any page you don’t want the default title to show.
For example, on my About page, I didn’t want the page title to be About (how boring!), so I removed the page title via Genesis Extender. That freed me up to add my own <h1> tag directly to the page and say whatever I want.
4. Customize Location of Jetpack sharing buttons
I’m always playing with different options for social sharing and Sharedaddy (bundled in Jetpack) happens to be my “button du jour.” I like the button options, but darn it if the plugin options don’t include a way to customize the location of those buttons! I wanted to add them to the top of my post and directly after post content.
Here’s what I added to Genesis > Extender Custom > Functions:
/* This code removes the default Sharedaddy share buttons so I can include them where I want*/ add_action( 'loop_end', 'cd_remove_share' ); function cd_remove_share() { remove_filter( 'the_content', 'sharing_display',15 ); remove_filter( 'the_excerpt', 'sharing_display',15 ); } /* Add Sharedaddy share buttons before and after post */ add_filter('genesis_before_post_content', 'cd_share_buttons', 10); add_filter('genesis_after_post_content', 'cd_share_buttons', 5); function cd_share_buttons() { echo sharing_display(); }
5. Customize footer credits
You may be wondering why MacGyver doesn’t just plop these code snippets right into functions.php. I’ll tell you why. MacGyver goes for quick and simple and has no desire to add extra elements of risk to a situation.
Want to customize your footer credits or drop in any number of cool Genesis Framework Code Snippets? It’s as easy as going to Genesis > Extender Custom > Functions and doing a quick copy/paste.
/** Customize the credits */ add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' ); function custom_footer_creds_text() { echo '<div class="creds"><p>'; echo 'Copyright © '; echo date('Y'); echo ' · Carrie Dils · I pity the fool who steals my stuff!'; echo '</p></div>'; }
6. Add a call to action on portfolio pages
I’m using the Portfolio custom post type on this site, a riff on what Brian Gardner created on the Minimum Theme Portfolio. I wanted to create a special call to action (HIRE ME!) that only appeared on my portfolio entries.
Genesis Extender makes this SUPER EASY to do.
First, we need to create a conditional check for portfolio pages (kinda like we did in Tip 2 above). Go to Genesis > Extender Custom > Conditionals and add a conditional tag for is_singular(‘portfolio’). If you’re still getting familiar with conditional tags, be sure to bookmark this page of the WordPress Codex.
Next up, I open up Genesis > Extender Custom > Hook Boxes and hook in my call to action after the post content.
7. Reposition the footer outside the main wrap
Drop this code like a hot potato into Genesis > Extender Custom > Functions and watch the magic unfold. If you want to know why this code works, read this post.
/** Reposition footer outside main wrap */ remove_action( 'genesis_footer', 'genesis_footer_markup_open', 5 ); remove_action( 'genesis_footer', 'genesis_do_footer' ); remove_action( 'genesis_footer', 'genesis_footer_markup_close', 15) ; add_action( 'genesis_after', 'genesis_footer_markup_open', 5 ); add_action( 'genesis_after', 'genesis_do_footer' ); add_action( 'genesis_after', 'genesis_footer_markup_close', 15 );
8. Remove pagination from a custom post type archive
There may be a situation where you don’t want any pagination (you know Older Posts / Newer Posts) to appear at the bottom of an archive page. I recently did a site with a “Testimonies” custom post type. I wanted all the testimonies to appear on a single archive page, without any pagination, so I added in this following bit of code to Genesis > Extender Custom > Functions:
/** Remove Pagination from CPT**/ add_action('parse_query', 'cd_nopaging'); function cd_nopaging($query) { if (is_post_type_archive('testimonies')) { $query->set('nopaging', 1); } }
You can see the results on this testimonials page.
9. Create custom thumbnail sizes
Genesis Extender makes adding custom image sizes a breeze. Go to Genesis > Extender Settings > General Settings and you can enter the dimensions for your custom thumbnail.
Next time you use the Genesis Featured Posts/Page Widgets into your sidebar, you’ll have your new custom thumbnail size to choose from.
10. Highlight a menu tab in your admin dashboard
This is a fun one that I picked up from Jonathon Perez. Add just a dash of style to Genesis > Extender Custom > Functions to highlight a particular menu item on your WordPress dashboard. For this code example, I’m adding a highlight to one a custom post type called “Jobs”.
/** Highlight Jobs custom post type on Admin */ add_action('admin_head', 'cd_custom_admin'); function cd_custom_admin() { echo '<style> #menu-posts-jobs { // Sub in "jobs" with whatever tab title you'd like to change background-color: #A2E5F1; // You can pick your own pretty color } </style>'; }
11. Create a custom 404 Page (BONUS ROUND!!)
Create a custom sitemap to go on your custom 404 page and tie it all together with this Genesis Extender Plugin tutorial.
I have an issue with Genesis Extender. On one of my website it keeps deactivating the plug in once a day or so and I have no idea why. I have deleted and re-installed it and it had all my custom CSS in there though did save it in case I had to it back in.
Has anyone had this issue
Sounds like you may want to get in touch with GE support.
l bought the Genesis Design Pallete and l think that Genesis Extender adds some extra features the Design Pallete doesn’t cover.
l think that someone should use them both.
Hi there! Have you heard anything about Genesis Extender not being suitable for production sites? I used it to build a client site and I’m getting push-back from their tech dept. about the plugin not being secure for production. This is throwing a pretty big wrench in my works, as you might imagine. Is that something you’ve run into?
Is there something specific they’re pushing back on? I guess I could see the “affect admin” option being a concern, although I’ve used it on production sites before. Give Eric Hamm a shout over at Cobalt Apps and he can probably address their concerns with better specifics.