Cách tạo breadcrumb menu dùng code trong WordPress

Hữu Thuần

[Thủ thuật WordPress] Hướng dẫn cách tạo breadcrumb menu dùng code trong WordPress – Có thể nói chức năng breadcrumb menu của web là không thể thiếu ngoài việc xác định đường dẫn cho web nó còn là yếu tố để giúp chúng ta seo tốt hơn. Đối với mã nguồn WordPress khi bạn sử dụng một số theme thì tính năng này có thể đã được tích hợp sẵn, với những trường hợp mà tính năng này chưa được tích hợp thì bạn phải làm sao?

Ở bài trước blog thủ thuật đã hướng dẫn các bạn cách chèn breadcrumb menu vào website giúp seo tốt hơn bằng Plugin, việc các bạn dùng Plugin giúp bạn đơn giản hóa công việc nhưng nếu các bạn cảm thấy mình đã có quá nhiều Plugin trên một website thì bạn nên dùng Code việc dùng code sẽ giúp trang Web của bạn tránh được các vấn đề về không tương thích, bảo mật…

cách tạo breadcrumb menu dùng code trong WordPress
Cách tạo breadcrumb menu dùng code trong WordPress

Cách tạo breadcrumb menu dùng code trong WordPress

Đầu tiên bạn cần xác định các tập tin liên quan cần sử dụng bao gồm tập tin Functions.php, Single.php… của giao diện đang sử dụng (đồng thời bạn cần phải nắm bắt được cách truy cập vào các tập tin bạn có thể tham khảo bài viết sửa giao diện, plugin WordPress không cần FTP hoặc bạn có thể tham khảo cài đặt và sử dụng phần mềm CuteFTP).

Chuẩn bị code

Bạn có thể sử dụng một trong các đoạn code tạo breadcrumb menu cho WordPress được cung cấp bên dưới.

Code 1: Đây là code mình đang dùng
function the_breadcrumb() {
                echo '<ul id="crumbs">';
        if (!is_home()) {
                echo '<a href="';
                echo get_option('home');
                echo '">';
                echo '<img src="https://vocthuthuat.com/home.JPG"/>Home';
                echo "</a> / ";
                if (is_category() || is_single()) {
                        the_category(' / ');
                        if (is_single()) {
                                the_title(' / ');
                        }
                } elseif (is_page()) {
                        echo the_title(' / ');
                }
        }
        elseif (is_tag()) {single_tag_title();}
        elseif (is_day()) {echo"<li>Archive for "; the_time('F jS, Y'); echo'</li>';}
        elseif (is_month()) {echo"<li>Archive for "; the_time('F, Y'); echo'</li>';}
        elseif (is_year()) {echo"<li>Archive for "; the_time('Y'); echo'</li>';}
        elseif (is_author()) {echo"<li>Author Archive"; echo'</li>';}
        elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Blog Archives"; echo'</li>';}
        elseif (is_search()) {echo"<li>Search Results"; echo'</li>';}
        echo '</ul>';
}
Code 2: Code sưu tầm
function ntvn_breadcrumbs() { 
  $delimiter = '<span>&raquo;</span>';
  $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 . ' '));
      single_cat_title(); 
    } 
    echo '</div>'; 
  }
}
Code 3: Code sưu tầm
function wp_breadcrumbs(){ 
		$delimiter = '&raquo;';
		$name = 'Home';
		$currentBefore = '<span class="current">';
		$currentAfter = '</span>';

		if(!is_home() && !is_front_page() || is_paged()){

			global $post;
			$home = get_bloginfo('url');
			echo '<a href="' . $home . '">' . $name . '</a> ' . $delimiter . ' ';

			if(is_tax()){
				  $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
				  echo $currentBefore . $term->name . $currentAfter;

			} elseif (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 . '';
				single_cat_title();
				echo '' . $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()){
				$postType = get_post_type();
				if($postType == 'post'){
					$cat = get_the_category(); $cat = $cat[0];
					echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
				} elseif($postType == 'portfolio'){
					$terms = get_the_term_list($post->ID, 'portfolio-category', '', '###', '');
					$terms = explode('###', $terms);
					echo $terms[0]. ' ' . $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:', 'wpinsite'). ' &quot;' . get_search_query() . '&quot;' . $currentAfter;
			} elseif (is_tag()){
				echo $currentBefore . __('Post Tagged with:', 'wpinsite'). ' &quot;';
				single_tag_title();
				echo '&quot;' . $currentAfter;
			} elseif (is_author()) {
				global $author;
				$userdata = get_userdata($author);
				echo $currentBefore . __('Author Archive', 'wpinsite') . $currentAfter;
			} elseif (is_404()){
				echo $currentBefore . __('Page Not Found', 'wpinsite') . $currentAfter;
			}
			if(get_query_var('paged')){
			if(is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
			echo ' ' . $delimiter . ' ' . __('Page') . ' ' . get_query_var('paged');
			if(is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
			}

		}
	}

Sử dụng code

Ngoài ra còn rất nhiều code khác nhưng với 3 code trên các bạn có thể chọn kiểu phù hợp với trang Web của mình. Sau khi chọn được code thích hợp bạn copy sau đó bạn dán vào file Functions.php của giao diện mà bạn đang sử dụng hãy dán trước thẻ đóng ?> là được.

Sau khi bạn copy 1 trong 3 code dán vào file Functions.php xong. Tiếp tục bây giờ bạn copy các code tương ứng dưới đây và bạn có thể dán vào 1 trong các file Header.PHP, Single.PHP… nơi nào mà bạn muốn hiển thị breadcrumb menu (chú ý các bạn dán vào trong nội dung của thẻ <?php dán vào trong này, bạn có thể tùy chỉnh vị trí phù hợp ?>).

Code 1: Đây là code mình đang dùng

<?php the_breadcrumb(); ?>

Code 2: Sưu tầm

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

Code 3: Sưu tầm

<?php wp_breadcrumb(); ?>

Cuối cùng hãy lưu lại và tận hưởng thành quả, quá đơn giản để bạn có thể tạo breadcrumb menu dùng code trong WordPress phải không?

Cuối cùng không có gì hơn nếu bạn cảm thấy bài viết có ích hãy subscribe blog của mình thường xuyên để cập nhật những bài viết mới nhất qua Email – Chân thành cảm ơn!

Đánh giá và chia sẻ để nâng cao chất lượng bài viết?

Tỉ lệ 1 / 5. Phiếu: 2

Chia sẻ:

BÀI VIẾT LIÊN QUAN

BÀI VIẾT NÊN XEM

Xem thêm

Viết một bình luận