WordPress’e Breadcrumbs Eklentisiz Ekleyelim.

Tarih : 21 / Kasım / 2014   -   Kategori :    -   Yorum Yok   Paylaş

placeit (1)

Öncelikle Breadcrumb nedir açıklayalım.

Breadcrumb; Sitenizde veya Blogunuzda sayfa üstünde mevcut konumu belirten link yapısına ait sayfa ağacıdır.

Hal böyleyken hem arama motorlarında (google, yandex, bng vb gibi) hem sayfa ziyaretçilerimiz açısından çok önem arz etmektedir. Örnek vermek gerekirse Anasayfa->Ürünler->Bilgisayar->Monitör->LED Monitör->LG 13inc LED Monitör  sayfasında bulunan ziyaretçi geri buttonu hariç mevcut bulunduğu sayfayı hem inceleme fırsatı hemde geri dönme fırsatını verebiliriz. Tabiiki WordPress için Breadcrumb eklentileri oldukça fazla ama her zaman söylerim, eklentisiz bir wordpress hızlı ve profesyonel bir wordpress’tir.

 

Aşağıdaki kodu function.php dosyanıza yapıştırarak eklentisiz kullanabilirsiniz.

function dimox_breadcrumbs() {
 
 $delimiter = '»';
 $name = 'Home'; //text for the 'Home' link
 $currentBefore = '<span class="current">';
 $currentAfter = '</span>';
 
 if ( !is_home() && !is_front_page() || is_paged() ) {
 
 echo '<div id="crumbs">';
 
 global $post;
 $home = get_bloginfo('url');
 echo '<a href="' . $home . '">' . $name . '</a> ' . $delimiter . ' ';
 
 if ( is_category() ) {
 global $wp_query;
 $cat_obj = $wp_query->get_queried_object();
 $thisCat = $cat_obj->term_id;
 $thisCat = get_category($thisCat);
 $parentCat = get_category($thisCat->parent);
 if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));
 echo $currentBefore . 'Archive by category &#39;';
 single_cat_title();
 echo '&#39;' . $currentAfter;
 
 } elseif ( is_day() ) {
 echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
 echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' ';
 echo $currentBefore . get_the_time('d') . $currentAfter;
 
 } elseif ( is_month() ) {
 echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
 echo $currentBefore . get_the_time('F') . $currentAfter;
 
 } elseif ( is_year() ) {
 echo $currentBefore . get_the_time('Y') . $currentAfter;
 
 } elseif ( is_single() && !is_attachment() ) {
 $cat = get_the_category(); $cat = $cat[0];
 echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
 echo $currentBefore;
 the_title();
 echo $currentAfter;
 
 } elseif ( is_attachment() ) {
 $parent = get_post($post->post_parent);
 $cat = get_the_category($parent->ID); $cat = $cat[0];
 echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
 echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a> ' . $delimiter . ' ';
 echo $currentBefore;
 the_title();
 echo $currentAfter;
 
 } elseif ( is_page() && !$post->post_parent ) {
 echo $currentBefore;
 the_title();
 echo $currentAfter;
 
 } elseif ( is_page() && $post->post_parent ) {
 $parent_id = $post->post_parent;
 $breadcrumbs = array();
 while ($parent_id) {
 $page = get_page($parent_id);
 $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
 $parent_id = $page->post_parent;
 }
 $breadcrumbs = array_reverse($breadcrumbs);
 foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';
 echo $currentBefore;
 the_title();
 echo $currentAfter;
 
 } elseif ( is_search() ) {
 echo $currentBefore . 'Search results for &#39;' . get_search_query() . '&#39;' . $currentAfter;
 
 } elseif ( is_tag() ) {
 echo $currentBefore . 'Posts tagged &#39;';
 single_tag_title();
 echo '&#39;' . $currentAfter;
 
 } elseif ( is_author() ) {
 global $author;
 $userdata = get_userdata($author);
 echo $currentBefore . 'Articles posted by ' . $userdata->display_name . $currentAfter;
 
 } elseif ( is_404() ) {
 echo $currentBefore . 'Error 404' . $currentAfter;
 }
 
 if ( get_query_var('paged') ) {
 if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
 echo __('Page') . ' ' . get_query_var('paged');
 if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
 }
 
 echo '</div>';
 
 }
}

Kullanmak istediğiniz Breadcrumbs’ı temanızda göstermek istediğiniz yere yapıştırmanız yeterlidir.

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

Yorum Yapın