WordPressBootstrap 4 not building breadcrumbs correctly

admin2025-06-06  5

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="" rel="nofollow">Home</a></li>Search
<li class="breadcrumb-item active" aria-current="page">""</li>
</ol>
</nav>

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" rel="nofollow">Home</a></li>Search
<li class="breadcrumb-item active" aria-current="page">""</li>
</ol>
</nav>
Share Improve this question edited Nov 4, 2018 at 13:09 Krzysiek Dróżdż 25.6k9 gold badges53 silver badges74 bronze badges asked Nov 2, 2018 at 18:27 Gregory BolognaGregory Bologna 1214 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 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>';
}
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749206763a317256.html

最新回复(0)