Free Tips & Tricks!

Join the others who've found my articles helpful! Get free goodness delivered to your inbox each time I share something new.

p.s. I'd gnaw my arm off before selling your email address.

MacGyver’s Top 10 Tips for Genesis Extender

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:

Add Style to Site Title

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="http://www.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:

Genesis Extender Conditional Statement

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.

Custom Widget Area

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.

After Post Content Hook

Want to see this code in action? Scroll down to the bottom of this portfolio entry.

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.

Are you feeling resourceful?

I’m going to create a smoke screen diversion by overheating an old jeep engine, allowing you you to sneak off and try a tip or two.

Ready? Go out and customize!

Comments

  1. Nice tips! I haven’t used the extender yet… maybe in the future I’ll check it out!

  2. Hey, Ozzy! Of course you could do all of the above w/o Extender – I’ve found it’s a nice, consistent place to “house” my customizations. Thanks for stopping by!

  3. Love it
    All great ideas, not sure which I’ll use first – like the idea of a two tone title.

    Have you updated to latest version?

    Long live Genesis and long live the Extender.

    • I haven’t updated yet (not showing an update available, for some reason?), but I did need to uncheck the box to include Genesis Column classes in the stylesheet. Since those are included in 1.9, I was getting a bit of clash. Looking forward to seeing what you come up with!

  4. Carrie,

    One word – Bravo! Really appreciate the time you took to produce this post. I haven’t used Genesis Extender much at all but it looks like you’ve just begun to tap its resourcefulness. In particular I love the call to action utility and may just borrow/steal that if/when I get around to producing v. 2.0 of my site.

    Now can I say ‘more, more, more!’ – HA!

    Seriously, much appreciated for sharing thy findings!

    Cheers!

  5. Thanks, Ben! I think the hook boxes are my favorite part. Like I said to Ozzy, you don’t need to plugin to do these customizations, but it just makes it easier! Feel free to steal my stuff and improve on it – then I’ll come back and steal your improved version. Ha!

  6. Wow! That’s some kind of share love. Impressive. Much thanks for the code bits. Hopefully someday we’ll be able to repay with some code snippet goodies of our own. You know, after we get get further along the learning curve than our current WP noobness status when we’re past posting things like the variation of “Hello World” below…

  7. ugh, Carrie! I’m still trying to wrap my head around the types plugin and now this???!! :) You are a wealth of info!

  8. Awesome.

    I like the tips no 1 and 4.
    Sure, you can also do this without the extender plugin :)

    • Thanks for stopping by, Rudd. Yeah, there are lots of places for secret stashes of code. I like using GE for all my customizations across sites – helps me remember where I put things when I go back to a site I haven’t worked on in awhile.

      • The video does make it look interesting, but I’d have a couple of issues with it.

        1) You say that GE makes it easy to house snippets, but from the video, all of this could be hidden in various tabs and sub tabs – with functions.php it’s all in one place, and easy to find something with Cmd / Ctrl-F. Sure, you need to have a basic knowledge of FTP, but that’s a skill learnt once for any web development project.

        2) If you enter some syntactically incorrect PHP in GE and hit save, I’d expect it to throw a fatal error (usually, a white screen). And that then needs to go in and fix the error anyway – except it may not be obvious where the value that was entered into GE is stored (does it rewrite functions.php? Does it store the values in a DB? Does it write them to a custom functions file?)

        No-one should ever be editing PHP for a site, via some UI on that site. It will only leads to tears eventually.

        • Hey Gary,
          Appreciate your two cents!

          1) It all falls under the Genesis admin menu, so it’s not too distracting to locate – especially if you’re using the plugin across various sites and get used to looking for it in the same place.
          2) There’s a toggle in the plugin that allows/disallows the php to affect the admin, which makes a syntax error “safer” to make than in functions.php.

          To your point, there’s nothing the plugin does that you can’t accomplish with functions.php and a little elbow grease. :) I think where it really shines are the easy home page layout options. The plugin still requires a basic knowledge of how hooks and filters work, but I think it’s a good stepping stone for someone getting their feet wet with customizing Genesis themes.

          Cheers!
          Carrie

  9. Macgyver ! Carie, i love Macgyver and grew up with him too, still watch it compulsively..

    You really made my day :)

  10. Found 1) really useful here as I’d not really found a good solution with an image in Minimum.

    I’ve just been using GE for the last week or so and found it quite useful. I am a bit concerned though how updates to Genesis will affect GE going forward and whether it will remain compatible.

    • Hey Jon,
      Glad it worked for you! I think GE will continue to stay on top of updates to be compatible with Genesis. With the last roll-out of Genesis 1.9, GE immediately rolled out a quick update to the plugin. I’d say they’re invested. :)
      Cheers,
      Carrie

  11. I tried 6. but couldn’t get it to work with Minimum. Is the syntax correct ? is_singular(‘portfolio’)

    I see you’ve taken it off your portfolio page. I’ve quadruple checked the syntax and that the conditional is hooked.

    • Hi Jon,
      I just tested it again and it works. You may have a plugin that’s causing conflict. The ‘portfolio’ part of the code should match the name of your custom post type (In the case of Minimum, it’s ‘portfolio’ by default) – have you changed it?

      Try changing the hook location just to see if you can get it to show somewhere on a single portfolio page.

      Carrie
      p.s. I changed my theme over the weekend and haven’t had a chance to update my portfolio pages as I’d like.

      • That’s so weird. I can’t get it to work on two sites. The only other conditional I’ve got working on the page is to not show a Genesis Call Out box but that should affect it.

        Thanks for trying out though.

        Nice site redesign. I like it.

  12. I got this plugin a few weeks ago and tried out a few homepages. It seemed ok. So today I’m working on my site and open the plugin to follow the affiliate box tutorial. Right there on the general settings page is a button that says “remove all page titles”. 1 click – done. I like it. Not everyone is a coding expert (I’m reading your code tuts) and I think it will be very helpful.

  13. Cool article – showing a true sense of adventure! Can’t wait to try some of these out, thanks Carrie

  14. No.4 doesn’t work for me on the Prose theme. I tried both on the extender and prose custom code. I don’t know coding but it’s probably due to some spaces in the code.

  15. Quick question (I think)… I need to move the primary/secondary navigation to underneath the page title on the home page only (ditched the page titles entirely for the rest of the site). Can that be done with this plugin?

    • Absolutely! You could do it without to (just using functions.php). Depends on your comfort level mucking around in the theme functions file. :) GE is kinda a “safe place” to play. :)

  16. So many amazing tools…

    BTW, I landed on your site after searching for info on Genesis and child-themes. I’m in the learning curve portion of that journey. It’s quite challengin at times, a bit like learning a new language, but I find you have a great way of clarifying things and that isn’t as common as needed. Wish I could afford you, i’d hire you just to coach me along on a project!

    I bookmarked your site and will continue to glean from it… Thanks again for sharing your knowledge and “connecting” with your audience…!

    Regards,

    Andre

    • Hi Andre,
      Thanks so much for the feedback. Makes the time spent writing posts totally worth it to know others are getting good mileage out of it!

      Cheers,
      Carrie

Trackbacks

  1. [...] is also a great advocate of of the Genesis Extender plugin and her post MacGyver’s Top 10 Tips for Genesis Extender is a great example of just how talented she is and a must read if you want to learn how to [...]

  2. [...] MacGyver’s Top 10 Tips for Genesis Extender [...]