Stickere notebook/laptop, Gadgeturi USB, Tableta android, Tastaturi de laptop, Filme Romanesti Online, Filme Online

Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Breadcrumbs fara plugin
02-04-2012, 10:52 PM (This post was last modified: 02-04-2012 11:04 PM by Marius.)
Post: #1
Thumbs Up Breadcrumbs fara plugin
Breadcrumbs-firimituri de paine.

In traducerea libera "breadcrumbs-firimituri de paine", iar daca te uiti dupe ele vezi de unde ai plecat si unde esti in acel moment.
Un "breadcrumb" este un tip de o structura de navigare care informeaza vizitatorul despre principale categorii si subcategorii a paginii web accesate. Acesta este de obicei plasat sub titlul principal al paginii si contine legaturi la categoriile si subcategoriile respective.

De exemplu daca avem daca articolul se afla intr-o subcategorie acest breadcrumbs va arata asa:

Code:
Home » Category » Subcategory » Articol


sau

Code:
Home » Subcategory » Articol


Acelasi lucru se poate face si pentru pagini si subpagini:

Code:
Home » Page 1 » Page 2 » Page 3


Breadcrumbs, pot aparea in:

-pagina navigata (ca si numesite.com/page/2/);
-arhiva categoriilor; (category archive)
-arhiva tag-urilor; (tag archive)
-arhiva zilnica; (daily archive)
-arhiva lunara; (monthly archive)
-arhiva anuala; (yearly archive)
-ahiva autorului; (author archive)
-intr-un articol; (single post page)
-intr-o pagina singulara; (single page)
-intr-o pagina cu fisiere; (attachment page)
-cautari (search results)
-erori (404 error page)
si in multe altele...
Cu ajutorul codului de mai jos puteti adauga site-ului de pe platforma Wordpress aceste "breadcrumbs-(firimituri de paine)" fara sa fiti nevoiti sa apelati la un plugin.

Functie breadcrumbs:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
function tutorialehd_breadcrumbs() {
 
  $delimiter = '»';
  $home = 'Home'; // text for the 'Home' link
  $before = '<span class="current">'; // tag before the current crumb
  $after = '</span>'; // tag after the current crumb
 
  if (is_home()) {
                echo "<strong>".$_SERVER['SERVER_NAME']."</strong>: ";
                bloginfo('description');
        }
 else {
  if ( !is_home() && !is_front_page() || is_paged() ) {
 
    echo '<div id="crumbs">';
 
    global $post;
    $homeLink = get_bloginfo('url');
    echo '<a href="' . $homeLink . '">' . $home . '</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 $before . 'Archive by category "' . single_cat_title('', false) . '"' . $after;
 
    } 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 $before . get_the_time('d') . $after;
 
    } elseif ( is_month() ) {
      echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';
      echo $before . get_the_time('F') . $after;
 
    } elseif ( is_year() ) {
      echo $before . get_the_time('Y') . $after;
 
    } elseif ( is_single() && !is_attachment() ) {
      if ( get_post_type() != 'post' ) {
        $post_type = get_post_type_object(get_post_type());
        $slug = $post_type->rewrite;
        echo '<a href="' . $homeLink . '/' . $slug['slug'] . '/">' . $post_type->labels->singular_name . '</a> ' . $delimiter . ' ';
        echo $before . get_the_title() . $after;
      } else {
        $cat = get_the_category(); $cat = $cat[0];
        echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
        echo $before . get_the_title() . $after;
      }
 
    } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
      $post_type = get_post_type_object(get_post_type());
      echo $before . $post_type->labels->singular_name . $after;
 
    } 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 $before . get_the_title() . $after;
 
    } elseif ( is_page() && !$post->post_parent ) {
      echo $before . get_the_title() . $after;
 
    } 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 $before . get_the_title() . $after;
 
    } elseif ( is_search() ) {
      echo $before . 'Search results for "' . get_search_query() . '"' . $after;
 
    } elseif ( is_tag() ) {
      echo $before . 'Posts tagged "' . single_tag_title('', false) . '"' . $after;
 
    } elseif ( is_author() ) {
       global $author;
      $userdata = get_userdata($author);
      echo $before . 'Articles posted by ' . $userdata->display_name . $after;
 
    } elseif ( is_404() ) {
      echo $before . 'Error 404' . $after;
    }
 
    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>';
 
  }
} // end tutorialehd_breadcrumbs()


Aceasta functie se introduce in fisierul functions.php pe care il gasiti printre fisierele temei folosite pe site iar urmatorul cod il introduceti in locul in care doriti sa apara aceste "breadcrumbs-firimituri de paine":

Code:
<?php if (function_exists('tutorialehd_breadcrumbs')) tutorialehd_breadcrumbs(); ?>


Implementat corespunzator, breadcrumbs poate contribui si la imbunatatirea performantelor unui sit in rezultatele cautarilor ( SERPs ).


Avem un regulament. Va rog sa il cititi si sa il respectati.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)