Wordpress面包屑的最后一个元素是n'


wordpress breadcrumbs the last element isn't in the tag

我想做一个面包屑,但我不明白为什么最后一个元素(url -我们在哪里)不在标签中,我怎么能修复它。我需要最后一个元素是标签I。如果你能帮助我,我会很感激的。

php:

function breadcrumbs($separator = ' <i class="fa fa-angle-right fa-1g" aria-hidden="true"></i> ', $home = 'Main_page') {
    $path = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
    $base_url = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
    $breadcrumbs = array("<a href='"$base_url'">$home</a>");
    $last = end( array_keys($path) );
    foreach( $path as $x => $crumb ){
        $title = ucwords(str_replace(array('.php', '_'), Array('', ' '), $crumb));
        if( $x != $last ){
            $breadcrumbs[] = '<a href="'.$base_url.$crumb.'">'.$title.'</a>';
        }
        else {
            $breadcrumbs[] = $title;
        }
    }
    return implode( $separator, $breadcrumbs );
}

您应该删除添加链接的最后一项检查。下面是修改后的代码:

function breadcrumbs($separator = ' <i class="fa fa-angle-right fa-1g" aria-hidden="true"></i> ', $home = 'Main_page') {
    $path        = array_filter(explode('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
    $base_url    = ($_SERVER['HTTPS'] ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . '/';
    $breadcrumbs = array("<a href='"$base_url'">$home</a>");
    foreach( $path as $x => $crumb ){
        $title = ucwords(str_replace(array('.php', '_'), Array('', ' '), $crumb));
        $breadcrumbs[] = '<a href="'.$base_url.$crumb.'">'.$title.'</a>';
    }
    return implode( $separator, $breadcrumbs );
}