Custom Breadcrumbs in Genesis Theme

Sometimes we have to customise the breadcrumbs for easy navigation and easy understandings. Here I have given the Breadcrums which I have used. Using this I have layered the Breadcrumbs like a Post under Page. I have used P2P plugin which connects Page to Post. You can simply edit that part and replace your own layer too.

Step 1: Copy and paste the below php code in your own blog custom plugin. If you haven’t created a custom plugin please make one fast.

If you are not interested to create a custom plugin simply paste this code in functions.php

 

//Custom Breadcrumbs
function the_breadcrumbs() {
 
        global $post;
 
        if (!is_home()) {
 
            echo "<a href='";
            echo get_option('home');
            echo "'>";
            echo "Lyrics";
            echo "</a>";
 
            if (is_category() || is_single()) {
 
                echo "  »  ";
                $cats = get_the_category( $post->ID );
 
                foreach ( $cats as $cat ){
                    echo $cat->cat_name;
                    echo "  »  ";
                }
               
                
                if (is_single()) {
                echo do_shortcode(' [p2p_connected type=posts_to_pages mode=inline]');
                echo "  »  ";
                    the_title();
                }
            } elseif (is_page()) {
 
                if($post->post_parent){
                    $anc = get_post_ancestors( $post->ID );
                    $anc_link = get_page_link( $post->post_parent );
 
                    foreach ( $anc as $ancestor ) {
                        $output = "  »  <a href=".$anc_link.">".get_the_title($ancestor)."</a>  »  ";
                    }
 
                    echo $output;
                    the_title();
 
                } else {
                    echo '  »  ';
                    echo the_title();
                }
            }
        }
    elseif (is_tag()) {single_tag_title();}
    elseif (is_day()) {echo"Archive: "; the_time('F jS, Y'); echo'</li>';}
    elseif (is_month()) {echo"Archive: "; the_time('F, Y'); echo'</li>';}
    elseif (is_year()) {echo"Archive: "; the_time('Y'); echo'</li>';}
    elseif (is_author()) {echo"Author's archive: "; echo'</li>';}
    elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "Blogarchive: "; echo'';}
    elseif (is_search()) {echo"Search results: "; }
}
//End of Custom Breadcrumbs

 Step 2:

Now the function is ready and you simply have to call the function in where the breadcrums have to be displayed. In my case I have used Genesis Sample theme and so I have used Simple Genesis Hooks.

Paste the following code in genesis_before_entry hook.

<?php if(function_exists('the_breadcrumbs')) the_breadcrumbs(); ?>

Mission Completed.

Gokul Deepak S

Recent Posts

Running crontab on AWS auto scaling group

Linux has a convenient feature of running cronjob which will get executed at the correct…

12 months ago

Learn with Gokul

As famous Tamil poet Auvaiyar said "Katradhu Kai Mann Alavu, Kallathathu Ulaga Alavu" which is…

12 months ago

Terraform Cheat sheet

Terraform Cheatsheet with pdf. You can download Terraform Cheatsheet pdf with all Terraform CLI commands…

1 year ago

Strategy to prepare for Terraform Associate Exam Preparation

I was planning to do Terraform certification a long time ago. I have worked on…

1 year ago

Runcloud vs SiteGround Comparision

As a user of both of these services has got multiple benefits with both of…

2 years ago

Important Docker Commands to remember

You need not memorize these important docker commands. Repeated usage will make it easy for…

2 years ago

This website uses cookies.