1

I have this code in my WordPress functions.php to create breadcrumbs for pages only. What am I doing wrong? Thanks.

I want to use bootstrap navs. The problem is that the short tag, the_title(), is writing the page name "Search" before the li tag, and empty quotes within li tag.

function get_breadcrumb() {

    echo '<nav aria-label="breadcrumb">';
    echo '<ol class="breadcrumb">';

    if(!is_home() && !is_front_page()) {
        echo '<li class="breadcrumb-item"><a href="'.home_url().'" rel="nofollow">Home</a></li>';
        if (is_page()) {
            echo '<li class="breadcrumb-item active" aria-current="page">"'.the_title().'"</li>';
        }
    }
    echo '</ol>';
    echo '</nav>';
}

Result

<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="https://example.com" rel="nofollow">Home</a></li>Search
<li class="breadcrumb-item active" aria-current="page">""</li>
</ol>
</nav>
2

the_title() echoes the title, by default. Use get_the_title() instead.

function get_breadcrumb() {

    echo '<nav aria-label="breadcrumb">';
    echo '<ol class="breadcrumb">';

    if(!is_home() && !is_front_page()) {
        echo '<li class="breadcrumb-item"><a href="'.home_url().'" rel="nofollow">Home</a></li>';
        if (is_page()) {
            echo '<li class="breadcrumb-item active" aria-current="page">"'.get_the_title().'"</li>';
        }
    }
    echo '</ol>';
    echo '</nav>';
}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.