center-theme

Theme Update: Center

We have updated our first theme ‘Center’ with new features and more refinements. The theme now supports WordPress native custom headers, custom favicon and custom background. Apart from these new things, the theme now has improved styling for the background, comments, and footer. The custom theme settings option was removed in this release. Users are now advised to use the plugin Genesis Simple Edits for such trivial adjustments.

You can download the theme below, or see a live demo. To report issues, please go to github or our support page.

[purchase_link id=”89″ style=”button” color=”” text=”Purchase” direct=”true”]

New Genesis Child Theme: Anahita

We just released our new WordPress theme, Anahita, into the wild. Anahita is a child theme for the ever popular Genesis Framework by Studiopress. The theme features a soft, pastel, slightly feminine colour scheme, and curvy, beautiful typography. Anahita has support for some popular plugins such as Genesis Simple Share, Genesis Enews extended, Genesis Responsive Slider, and various features of Jetpack. The theme also features a featured widget area on top of the blog home page which can be used to feature a page/post, or to place a slider widget.

You can download the theme below, or go to github to file issues, send pull requests and such. A demo of the theme is available here.

[purchase_link id=”899″ style=”button” color=”” text=”Purchase” direct=”true”]

Change Genesis Admin Menu Item Name And Icon

The following code changes the Genesis admin menu item name to anything of your choice. Just replace ‘Custom’ with a string of your choice. The code should go in your child theme’s functions.php.

UPDATE

It turns out that Genesis now uses an icon font to display the menu icon in WordPress backend. In order to change that, you need a different icon font, with the icon of your choice, and override it thorugh a stylesheet. In this example we’ll just use FontAwesome. You can use any font of your choice, or generate your own.

Add this to functions.php

Here we have enqueued fontawesome from BootstrapCDN,, and then a custom stylesheet. Now create an `admin.css` in your theme’s folder and add the following to it.

Please note that you have to change the font-family if you want to use a different font, and the unicode value for content corresponding to the icon of your choice.

More resources

Using Hook Priorities In Genesis

Hooks are amazing. They allow adding/removing/changing functionality without editing any core files. In a modern framework such as Genesis, hooks form the basis of nearly all customization. For example, to add some text just after the site header, you would do this:

add_action('genesis_after_header', 'some_function');

Where `some_function` prints something. But what happens when this hook trivia becomes bigger than little tweaks? What if you have to add/remove multiple things, or override actions defined in the framework. Someone recently asked on Google+

How do I add the secondary navigation above the footer in a Genesis child theme?

Well that’s simple, just hook the navigation to the appropriate hook(*genesis_before_footer*) in this case. But let’s see what happens in one particular case.

Screenshot from 2014-02-28 19:03:39

There’s our problem, the navbar displays below the footer widgets. This can be traced back to framework code. On line 14 of *lib/structure/footer.php*, you’ll find this

add_action( 'genesis_before_footer', 'genesis_footer_widget_areas' );

Now we’re assigning our function to the same hook, but it runs after the one defined in the framework. Why does this happen, and how can we correct this?

Enter Hook priorities

The WordPress codex entry about hooks tells us why this happens

$priority
(int) (optional) Used to specify the order in which the functions associated with a particular action are executed. Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.
Default: 10

Hook priorities allow us to define the order in which our hooked functions are to be executed. So, to add our navigation bar above the footer widgets, we just execute the function with a lower hook priority than the default(10). So the code would be like

add_action( 'genesis_before_footer', 'genesis_do_subnav', 9);

And the result is what we wanted.
Screenshot from 2014-02-28 19:07:58

Other places that this might be useful in the Genesis framework:

  • Place elements(e.g. featured image) before/after entry-title, before/after entry-header, etc.
  • Change the order of elements via hooks.
  • Place elements in footer, before/ after the main footer content.
  • And many more.

If you have an interesting example, or any doubt, don’t forget to comment below, and sign up for my newsletter on the bottom to receive tutorials and articles every week.