MacGyver's Tips for Genesis Extender

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="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:

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

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.

66 thoughts on “MacGyver’s Top 10 Tips for Genesis Extender”

  1. 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?

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

        1. Hey Ryan, did you get it figured out? Try the Genesis Visual Hook plugin? The hook location depends on whether HTML5 is enabled and which theme you’re using (or how your theme is setup).

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

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

  3. 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?

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

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

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

        1. Hey Daniel,
          Thanks for the follow-up. I’d forgotten about PageNavi (heard of it, but not used it). Glad it worked!

          Is this the book you mention? Always looking for good reads to add to my list.

          Best wishes for success in 2014 for you as you grow your business!

          Cheers,
          Carrie

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

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

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

        1. 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. 🙂

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

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

  7. Hi Carrie, Love your blog, very useful. You convinced me to get Genesis Extender because I wanted to try the first of your MacGyver’s tips. I’m not using a custom logo – just the Genesis responsive text. I want the title to be a different color from my theme, and I want it to change colors when I hover over it. Any advice? Thanks 🙂

    1. If it helps, I input the code you provided and changed the color successfully. So, if I go from there, I just need (1) it to change colors when I hover over it and (2) it to automatically center when the screen is shrunk, instead of always aligning left. Thanks in advance

Leave a Comment

Your email address will not be published. Required fields are marked *

Carrie Dils uses Accessibility Checker to monitor our website's accessibility.