Genesis is a premium WordPress theme which provides search engine optimized and secure foundation for your WordPress blog. Advantage of premium theme is that you get support. For each Genesis child theme there is forum where you can ask your doubts, code snippets for modifying Genesis theme, whatever you want! This is the main reason behind many bloggers choose Genesis theme for their WordPress blog. In this article, we will share with you a way by which you can customize various fields in Genesis child theme.
Note: To modify Genesis theme you have to modify mainly two files – style.css and functions.php. You can modify these files through WordPress dashboard -> Appearance -> Editor.
1. How to add Author box to end of posts
You can add author box at the end of each post without touching single line code. Under WordPress Dashboard -> Users -> Your Profile -> Genesis User Settings. Check on the box “Enable Author Box on this User’s Posts”.
But if your blog is a multi-author site then instead of editing each user profile you can use following code to show author box at the end of each post. Add following code in functions.php.
/** Add author box to end of posts **/
function abr_author_box () {
$html = '<div class="author-box">';
$html .= get_avatar(get_the_author_meta('user_email'), 75);
$html .= '<strong>About <a href="'.get_author_posts_url(get_the_author_meta( 'ID' )).'">'.get_the_author_meta('user_firstname').' '.get_the_author_meta('user_lastname').'</a></strong><br />';
$html .= wpautop(get_the_author_meta('description'));
$html .= '</div>';
echo $html;
}
add_action ( 'genesis_before_comments', 'abr_author_box', 10, 1);
Above code will add author box below each post as shown in the figure below:
2. How to display Author’s Social Media Links on the profile page
To add author’s Twitter, Google+, Facebook, LinkedIn profile links on the author profile page first you have create author.php in your child theme folder and add following code into it:
<?php
/**
*
* Author template.
*
*/
add_action( 'genesis_before_loop', 'tw_custom_auth_info' );
function tw_custom_auth_info() {
if (is_author()) {
$curauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));?>
<div class="author-box"><?php echo get_avatar( $curauth->ID, $size = '76');?>
<h1><?php echo $curauth->display_name;?></h1>
<p>
<?php
if($curauth->user_description<>''): echo $curauth->user_description;
else: _e("This user hasn't shared any biographical information","nomadic");
endif;
?>
</p>
<br />
<?php
if(($curauth->user_url<>'http://') && ($curauth->user_url<>'')) echo '<p class="im www">'.__('Homepage:','nomadic').' <a href="'.$curauth->user_url.'">'.$curauth->user_url.'</a></p>';
if($curauth->yim<>'') echo '<p class="im yahoo">'.__('Yahoo Messenger:','nomadic').' <a href="ymsgr:sendIM?'.$curauth->yim.'">'.$curauth->yim.'</a></p>';
if($curauth->jabber<>'') echo '<p class="im gtalk">'.__('Jabber/GTalk:','nomadic').' <a href="gtalk:chat?jid='.$curauth->jabber.'">'.$curauth->jabber.'</a></p>';
if($curauth->aim<>'') echo '<p class="im aim">'.__('AIM:','nomadic').' <a href="aim:goIM?screenname='.$curauth->aim.'">'.$curauth->aim.'</a></p>';
?>
<ul><?php
$google_profile = get_the_author_meta( 'google_profile', $curauth->ID );
$facebook_id = get_the_author_meta( 'facebook_id', $curauth->ID );
$twitter_id = get_the_author_meta( 'twitter_id', $curauth->ID );
$linkedin_id = get_the_author_meta( 'linkedin_id', $curauth->ID );
/* Create Google Profile and Other Links */
if ( $google_profile || $facebook_id || $twitter_id || $linkedin_id) {
?><br /><p>Find me on:</p><?php
}
if ( $google_profile ) {
?><li><?php echo '<a href="' . $google_profile . '">Google Profile</a>';?></li><?php
}
if ( $facebook_id ) {
?><li class="social_profile_facebook"><?php echo '<a href=http://www.facebook.com/' . $facebook_id . '>Facebook</a>';?></li><?php
}
if ( $twitter_id ) {
?><li><?php echo '<a href=http://twitter.com/intent/user?screen_name=' . $twitter_id . '>Twitter</a>';?></li><?php
}
if ( $linkedin_id ) {
?><li><?php echo '<a href=http://www.linkedin.com/in/' . $linkedin_id . '>LinkedIn</a>';?></li><?php
}
?></ul></div><h2 style="margin: 0 0 40px; overflow: hidden; padding: 10px 0;"><?php printf(__('Posts by %s', 'nomadic'), $curauth->display_name); ?></h2><?php
}
}
genesis(); // <- everything important: make sure to include this.
?>
Then add following code in functions.php.
/** Add Custom Contact Profile Fields **/
function add_custom_contact_profilefields( $contactmethods ) {
$contactmethods['google_profile'] = 'Google Profile URL';
$contactmethods['facebook_id'] = 'Facebook ID';
$contactmethods['twitter_id'] = 'Twitter UserName';
$contactmethods['linkedin_id'] = 'LinkedIn UserName';
return $contactmethods;
}
add_filter('user_contactmethods','add_custom_contact_profilefields',10,1);
Then Under Users -> Your Profile will look like this:
Add your information there and you have done it. Your author profile will look like this:
3. How to add a comment policy box before Comment Form
Many people want to add comment policy before comment form, to display comment policy add following code in functions.php
/** Add a comment policy box */
add_action( 'genesis_before_comment_form', 'single_post_comment_policy' );
function single_post_comment_policy() {
if ( is_single() && !is_user_logged_in() && comments_open() ) {
?>
<div class="comment-policy-box">
<p class="comment-policy"><small><h4>Comment Policy:</h4> Your words are your own, so be nice and helpful if you can. Please, only use your <strong>real name</strong>, not your business name or keywords. Using business name or keywords instead of your real name will lead to the comment being deleted. Anonymous commenting is not allowed either. Limit the amount of links submitted in your comment. We accept clean XHTML in comments, but don't overdo it please.</small></p>
</div>
<?php
}
}
4. Edit Comment form
Following code will modify your comment form title and will add some text below it. Change the text as per your need. Add following code in functions.php.
/** Edit comments form text **/
function modified_comment_form_args($args) {
$args['title_reply'] = 'Tell us what you\'re thinking...';
$args['comment_notes_before'] = ' <p class="comment-policy">All comments are moderated.</p>
<p class="required"><small>* Denotes required field.</small></p>';
$args['comment_field'] = '<p class="comment-form-comment">' .
'<textarea id="comment" name="comment" cols="45" rows="8" tabindex="4" aria-required="true"></textarea>' .
'</p><!-- #form-section-comment .form-section -->';
return $args;
}
add_filter('genesis_comment_form_args', 'modified_comment_form_args');
5. Display Previous and Next Links after comment form
For better navigation you must add previous post and next post links, so user can easily switch in between posts. Also it’ll help to reduce bounce rate. To display previous and next post links add following code in functions.php
/** Previous and Next Links **/
add_action('genesis_after_comment_form', 'custom_post_nav');
function custom_post_nav(){?>
<div style="font-size:13px; padding:2px;">
<?php previous_post_link('<b>Previous Post:</b> %link') ?><br />
<?php next_post_link('<b>Next Post:</b> %link') ?>
</div>
<?php }
6. How To Add Or Remove Navigation Menu
If you want to move your Primary Navigation Menu after your child theme header then add following code in functions.php
/** Moving Your Primary Navigation after Header **/
add_action('genesis_after_header', 'genesis_do_nav');
remove_action('genesis_before_header', 'genesis_do_nav');
If you want to move your Primary Navigation Menu before your child theme header then add following code in functions.php
/** Moving Your Primary Navigation before Header **/ remove_action( 'genesis_after_header', 'genesis_do_nav' ); add_action( 'genesis_before_header', 'genesis_do_nav' );
If you want to move Secondary Navigation Menu below your child theme header then add following code in functions.php
/** Moving Your Secondary Navigation After Header **/
Remove_action('genesis_after_header','genesis_do_subnav');
Add_action('genesis_before_header','genesis_do_subnav');
7. How to change “Read More…” to … “Continue Reading…”
Many people want to change default “Read More…” text to different text like “More…”, “Continue…”, “Continue Reading…”, etc. I always prefer “[Continue Reading …]” text. Also we can add styles to this text so it look better. Add following in functions.php to accomplish this.
/** Read More changed to Continue Reading... **/
add_filter( 'excerpt_more', 'child_read_more_link' );
add_filter( 'get_the_content_more_link', 'child_read_more_link' );
add_filter( 'the_content_more_link', 'child_read_more_link' );
function child_read_more_link() {
return '… <a class="more-link" href="' . get_permalink() . '" rel="nofollow">Continue Reading …</a>';}
Then add following code in style.css.
/** Customization for Read More Link... **/
.more-link {
font-size: 12px;
font-weight: bold;
float: right;
margin: 4px 0;
padding: 1px 6px;
text-transform: none;
border-radius:4px;
background-color:#DDDDDD;
border:0;font-family:Arial, sans-serif;
-webkit-border-radius:4px;
-moz-border-radius:4px;
-moz-box-shadow:0 1px 1px #AAAAAA;
-webkit-box-shadow:0 1px 1px #AAAAAA;
}
.entry-content a {
text-decoration: none;
}
.entry-content a:hover {
text-decoration: underline;
}
Now your “Continue Reading” button will look more professional, more stylish.
8. Add support for Custom Background
If you want custom background then add following code in functions.php.
/** Add support for Custom Background **/ add_custom_background();
9. Add support for Custom Header
If you want custom background then add following code in functions.php.
/** Add support for Custom Header **/ add_theme_support( 'genesis-custom-header', array( 'width' => 920, 'height' => 150, 'textcolor' => 'ffffff', 'admin_header_callback' => 'nomadic_admin_style' ) );
Don’t forget to change child theme name, here e.g. we’ve used “nomadic” as a child theme name. You can adjust width, height and textcolor values. Adjust them according to your need.
10. Remove or change Title and Description
If you want to remove Title and Description then add following code in functions.php. This is useful when you decide to use site logo instead of text for site title.
/** Remove Title & Description **/ remove_action( 'genesis_site_title', 'genesis_seo_site_title' ); remove_action( 'genesis_site_description', 'genesis_seo_site_description' );
Add following code in functions.php to add custom site title.
/** Remove default site title and add custom site title **/
remove_action( 'genesis_site_title', 'genesis_seo_site_title' );
function custom_site_title() {
echo '<h1 id="title">Tips and Tricks</h1>';
}
add_action( 'genesis_site_title', 'custom_site_title' );
11. Remove Post Title
Add following code in functions.php to post title.
/** Remove post titles **/ remove_action( 'genesis_post_title','genesis_do_post_title' );
12. How to modify footer text
If you want to remove default footer text and want to add your text then add following code in functions.php.
/** Customize the entire footer */
remove_action( 'genesis_footer', 'genesis_do_footer' );
add_action( 'genesis_footer', 'child_do_footer' );
function child_do_footer() {
?>
<p><!-- Your Custom Text OR Code --></p>
<?php
}
If you have any questions, then please feel free to ask in the comments below. Also don’t forget to share this article on Twitter, Digg, Facebook using the buttons provided below. We truly appreciate your support.







Rajesh you have done very nice efforts to explain all necessary things to have better genesis blog. A lots of people are shifting their blog to genesis but they are not aware of how to do such basic things. Very nice tutorial and all the best for blogging.
Nice one. You clearly taught all those modifications. I should try this.
Hi Rajesh, I’m glad I am here…and found your tutorial. I still need to know one thing. How can I change date form? I want to change it to german form/language. Which file can I find it and modify?
Thanks for the Information about genesis framework customization, i want to use genesis framework for my site, i am new into blogging and to wordpress..is there a free or open source version of genesis available ?
Genesis is a premium theme. You have to purchase it before using it on your site.
Hey there, your blog is looking much better and responsive now, Dumping Mystique was the best decision. Finally you are implementing your own ideas. Much appreciated. Good luck.
I’m glad you liked it. Thanks for your comment.
Is there any activation process after buying the theme? I mean can we use the theme for more than one site after purchase?
There is no such activation process. You can use it on any number sites.
Namase! Can I add comment policy box before Comment Form by using same method for Thesis Theme?
Thesis code is totally different. I’ll try to give you code for Thesis also.
Thank you on tips.
An awesome post! I was googling for author box info for Genesis and am I glad Google sent me to the right place. Keep it up!
Great post Namase. I use Genesis theme and have always wondered how to make some simple modifications. These are wonderful tips and tricks.
How do I add a profile picture of myself as an author in the comments? I can’t find a setting for it in Genesis. Is that something that needs to be customized? There is a “Profile Pic” plugin, but is that best way to go? Is there a way to add my facebook profile pic to the comments? Also can other commenters add their facebook profile when commenting?
Also in #5 tips/tricks you have shown how to add Previous and Next post, but how do I add the checkbox for “Notify me of follow-up comments by emails” – that is not clear. I would appreciate your help.
Thanks.
To add a your image in comments read this article: How to Display your Avatar in Comments.
To add the checkbox for “Notify me of follow-up comments by emails” use Jetpack plugin.
Thanks.
Great Writeup…i bookmarked this for future reference for managing all my websites running on Genesis.
Thank you
I’m glad, you liked it.
I’m wondering how I can add tabindex=5 to the submit button. I tab through text fields, which works fine for author, email, website and comment box, but from there a tab takes you to the top of the page. Any help would be appreciated.
Can you let me know how to remove date & time from each comments in comment section?
Very soon this website is also gonna rocking like namase.com
Best of luck.
Thanks Tushar.
Rajesh, awesome work man! First with the mystique theme tips and now Genesis tips! Very helpful indeed! I am bookmarking this page for the future if I ever shift to Genesis!
For no 9, make sure you elaborate more on the
admin_header_callback’ => ‘minimum_admin_style
That’s only work for minimum child theme
Thanks for notifying, updated the article.
Hello
How to change Post Commet ?
Please elaborate, what do you exactly want?
Good techniques. I would implement a few.
I wished there was : How to implement facebook comments in genesis
We’ll try to provide code for that
Rajesh, I have to give you a salute for this post. I’ve been looking for this kind of tips all over the web, but it looks like your post is the best of all. You SAVE my day.
Regards,
Ari.
Thanks a lot!
I’m also using genesis theme, these tutorials helps lot to modify Genesis theme.
Thanks.
Rajesh, I want to insert image navigation (Previous Image/Next Image) in my gallery attachment page, but I can’t find out how. Can you help me with this?
this is the link:
http://ariwahyudi.web.id/2012/04/operation-travel-pulau-kumala-tenggarong/buah-bolok-khas-kutai/
Regards,
Ari.