Theme Flatsome mặc định không có navi breadcrumb trên trang tin tức nhưng bạn có thể dụng một trong những cách dưới đây để thêm Navi breadcrumb vào website.
Sử dụng plugin Yoast SEO
Yoast SEO được Flatsome tích hợp vào phần cài đặt Advanced để kích hoạt hiển thị breadcumb, nếu muốn thêm thủ công, hãy sao chép đoạn code breadcrumb và dán vào trang layout là được.
Tải plugin tại đây: https://vi.wordpress.org/plugins/wordpress-seo/
Sử dụng plugin Rank Math
Tương tự với Yoast SEO, Rank Math sinh sau đẻ muộn nhưng chức năng lại phong phú và đặc biệt là miễn phí, ưu việt hơn với đàn anh của nó. Và từ phiên bản Flatsome mới đây, Rank Math cũng được tích hợp sẵn vào cấu hình nâng cao của Flatsome để hiển thị navi breadcrumb, bạn có thể sử dụng rất đơn giản.
Tải plugin tại đây: https://vi.wordpress.org/plugins/seo-by-rank-math/
Sử dụng code vào function.php
Dán đoạn code dưới đây vào file function.php của theme/child theme đang kích hoạt, chúng ta sẽ có một navi breadcrumb đẹp như ý cho trang tin tức trên Flatsome.
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 | function get_flatsome_blog_breadcrumbs() { $delimiter = '<span class="divider">/</span>'; $home = 'Trang chủ'; $before = ''; $after = ''; if ( !is_home() && !is_front_page() || is_paged() ) { echo '<div class="page-title shop-page-title product-page-title"><div class="page-title-inner flex-row medium-flex-wrap container"><div class="flex-col flex-grow medium-text-center"><div class="is-medium">'; echo '<nav class="breadcrumbs">'; 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 . 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; 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 '</nav>'; echo '</div></div></div></div>'; } } add_action( 'flatsome_before_blog' , 'get_flatsome_blog_breadcrumbs', 20 ); |
Tham khảo: wordpressvn.com
Anh ơi, em thêm mà cái danh mục tin tức nó hiển thị ở cuối bài thì làm như thế nào ạ.
Cách nhanh nhất là bạn sử dụng UX block rồi dán shortcode với Flatsome, hoặc hiển thị danh mục tin tức dưới Widget
anh cho e hỏi là e muốn bỏ cái tên bài viết ở đường dẫn thì thế nào ạ
Ví dụ đường dẫn breadcrumb sẽ là home > category > tên bài
thì e muốn bỏ “tên bài” đi ạ
Trường hợp sử dụng code function thì bạn tìm đến đoạn code hiển thị tiêu đề và thêm // vào phía trước, như code dưới đây, rồi lưu lại.
//echo $before . get_the_title() . $after;
Với các plugin như rank math thì bạn dùng css, sử dụng thuộc tích display:none; là được nhé