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. says

    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!

  2. says

    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.

    • says

      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!

  3. says

    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!

  4. says

    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!

  5. says

    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…

    • says

      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.

      • says

        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.

        • says

          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

  6. says

    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.

    • says

      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

  7. says

    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.

    • says

      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.

      • says

        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.

  8. says

    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.

  9. says

    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.

  10. says

    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?

    • says

      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. :)

  11. says

    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

    • says

      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

  12. says

    Carrie, quick question… could I use the same thing in #1 to force a break in the page title? I have a client who is a therapist and has lots of letters after his name, which is just long enough to push only one set of letters down but not the other. Looks kinda funky.

  13. Mal says

    Hello Carrie, you have some useful tips here. I am using the Balance child theme and want to have the description in a different color to that of the title which I can easily change. Any tips to do this is will be thankfully received.

  14. says

    Thanks Carrie

    I recently bought the extender and your tips were great to give me an understanding on the basics. Looking forward to more tips on extender.

    Thanks Paul

  15. says

    Wahoo!! Finally had an excuse to try tip #2 – I didn’t do it using extender, but when I saw the title in the original theme I’m using and new I didn’t want to use a logo image I got all kinds of excited to head here for the tutorial. Thanks so much!

    • says

      Oops! Make that #1 – and I have to echo the comment just below me – Google sends me here for answers over and over and I’ve never been steered wrong :)

  16. says

    It just boggles my mind how many times Google sends me here for the answers to my problems….you must be doing something right Ms. Dils!
    Thanks again :)

  17. Ryan Dolan says

    Hi,
    Great post, I am having a hard time using the Genesis Extender to display a box above my blog page and articles. Cant seem to get it to work. What hook should I use?

    • says

      Hi Ryan,
      It’ll depend on what theme you’re using and whether you have HTML5 enabled for your site.

      Try installing the Genesis Visual Hook plugin – it’ll show you what hook location to use for your site. :)

      Carrie

  18. says

    Hi Carrie,
    Just getting familiar with Genesis. So even with the Extender, I would have to add code? conditionals, hooks, functions…. sorry, but I haven’t explored that far yet. Probably basic, but I must ask before I buy, right?
    Thanks Carrie!
    ~Kitty

    • says

      Hi Kitty,

      Thanks for your question. You are right – you would still have to get your hands dirty with code. BUT if you’re wanting to learn code, I think this is a “safer” environment to learn in than just mucking straight about in your functions file. :) On the other hand, if you’re not wanting to do code customizations, this is probably not the toy for you. :)

      Cheers,
      Carrie

  19. says

    I’ve wondered about the plugin versus the Dynamik theme. Which is better? If you can do all this customization with the plugin, does it really matter? What are the benefits to using the theme over the plugin?

    • says

      Hi Angela,
      The two products are very similar, but the main difference is that the plugin can run on any Genesis child theme. So, if you already like your site but want to add some bells and whistles, the plugin is all you need. On the other hand, if you’re wanting to build out a completely new site with a new look, Dynamik is the way to go.

      Personally, I prefer keeping the functionality in the plugin – that way I can change themes periodically (as I’m apt to do) without losing those customizations.

      Cheers,
      Carrie

  20. says

    Hi Carrie! Will the extender allow me to add pagination to a custom post type’s taxonomy page template I’ve created? I’m having trouble with that right now. Thanks for your time!

    • says

      Hey Daniel,
      You’d still have to spin the code – in other words, Extender doesn’t have any built-in options for making pagination happen on template pages – but you could still stash your code in Extender as opposed to your theme’s functions file. Bottom line: Extender won’t get you any closer to what you’re needing.

      I haven’t done what you’re talking about, but you should be able to just modify the query on your template page using the posts_per_page arg (http://codex.wordpress.org/Function_Reference/query_posts).

      Cheers,
      Carrie

      • says

        Hi Carrie,
        Thanks for the link and I did get it working with a little help. I used a plugin called WP PageNavi and got it just how I wanted it.

        Also, really enjoyed your latest blog post. I’m going through the same thing right now regarding how I want to charge in the future. Not sure if you read it but there is an ebook floating around on the interwebs called Breaking the Time Barrier. Really opened my eyes about value based pricing. You may have already seen it but check it out if you haven’t.

        Take care,
        Daniel

  21. says

    This is great – thank you so much Carrie!

    How could I use Extender to insert 4 boxes in the Portfolio widget area that are each lined to other pages on my site?

    Have a great weekend and a peaceful, fun-filled and prosperous 2013!

    Nic

    • says

      Hi Nic,
      Thanks for the well wishes (and back at you!). If the widget area already exists, then I’d suggest using the Genesis Featured Page widget (drag 4 instances into your widget area). You’ll need to add some custom styling in the Extender CSS area to get them to display side by side as opposed to stacked. Really, you could use any type of widget (i.e. the Text Widget), but the key will be adding CSS to make it look right.

      Carrie

      • says

        Thanks Carrie – I’ve done it by activating the Extender static homepage, choosing the 1:3:1 layout and going from there – seems like a good idea, unless you can see any pitfalls?

        On a slightly different issue – when I try to use Dynamik, as soon as I edit the default text the home page condenses to a cm wide column – I see to remember this happening a long time ago with Catalyst and I had to ask my ISP to change a setting on the server to allow for the complexity of the theme. Would you by any chance know what this setting is? I’ve been searching all day on Google to no avail!

        Live, Love, Laugh, Make a Difference!

        Nic

        • says

          Oh! Didn’t realize you meant the home page – in that case the layouts you’re talking about are perfect!

          Not sure about the Dynamik issue, but you might try the support forum over at cobaltapps.com or submit a ticket if you don’t find the answer in the forums. :)

  22. says

    Nice review Carrie! Just started using the plugin and have a question for you.

    In what file in what folder is the code saved that is created in the Genesis Extender CSS Editor?

    Does this code get over-written with genesis framework updates?

    How can I  incorporate the Genesis Extender CSS Builder and Editor  with my child theme stylesheet?

    Thanks much,
    Mark
     

  23. says

    Your site is a great resource. I’ve been searching all day to find an ‘easy’ way to add a widget area to put the responsive slider widget into. I’m currently using Focus, and it was either buy a new Genesis theme, or buy the plugin.
    After reading your good review, I purchased the extender plugin (through your aff link as a thank you).
    I’ve bookmarked your site – great resource.
    Thank you so much. Sure I’ll be back lots.
    p.s. I was a little too nervous yet to code into php – not my strong point, yet.

    • says

      Hey Bo,
      Thanks for the comment and glad you went for Genesis Extender. You said it perfectly – if you’re not ready to get into your functions.php, GE is the perfect way to dip your toes in! Hope to see you back around here and be sure to check out Genesis Office Hours, a new experiment I’m trying to help answer questions about Genesis in a live format.

      Cheers,
      Carrie

Trackbacks