2016-11-15 14 views
-2

ブレッドクラムを作成しようとしていますが、なぜ最後の要素(URLはどこですか)がタグに含まれていないのはわかりません。修理する。私は最後の要素が私のタグになることが必要です - 。私を助けていただければ幸いです。wordpress breadcrumbs最後の要素がタグにありません

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); 
} 
+1

ちょうどあなたのコードを読んで、あなたは '...それであれば($ xを= $最後!)条件を持っている' – vard

+0

はのポイントを@vardするには:** '他の{ $ breadcrumbs [] = $ title; } '** – gravity

答えて

1

あなたが広告へのリンクを最後の項目のチェックを外す必要があります。ここで変更したコードです:

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); 
} 
+0

これはタグにありますが、最後の要素の後ろに区切り記号を付けます。 –

関連する問題