Ở phần 10 này mình sẽ hướng dẫn bạn file cuối cùng là tag.php và tối ưu lại breadcrumbs, custom field cho wordpress

Tag.php

Tag như là cầu nối giữa các bài viết cùng hoặc khác chủ đề lại với nhau, tag quan trọng trong việc liên kết nội cho blog vì thế mọi bài viết cần có các tag liên quan đến nhau.

Tạo file tag.php

  • wp-content/themes/miniblog/tag.php

Copy nội dung file category.php vào file tag.php thay H1 bằng nội dung sau:

<h1 class="my-2 mb-4 page-header">
    Thẻ:
    <small><?php single_tag_title() ?></small>
</h1>

Hàm single_tag_title dùng để gọi tên của thẻ.

Kế đến bạn mở file content-single.php và dùng hàm the_tags để gọi các thẻ

<?php the_tags() ?>

Kết quả trong bài viết.


Khi click vào 1 tag bất kỳ nó sẽ truy xuất vào file tag.php để lấy dữ liệu

Breadcrumbs

Mở file functions.php và thêm các mệnh đề sau:

 elseif (is_page()) {
    the_title('<span class="breadcrumb-item active">','</span>');
} elseif (is_tag()) {
    echo '<span class="breadcrumb-item active">Thẻ</span>';
} elseif (is_search()) {
    echo '<span class="breadcrumb-item active">Tìm kiếm</span>';
} elseif (is_author()) {
    echo '<span class="breadcrumb-item active">Tác giả</span>';
} elseif (is_archive()) {
    echo '<span class="breadcrumb-item active">Lưu trữ</span>';
}else{
    echo '<span class="breadcrumb-item active">Error 404</span>';
}

Kết quả ta được:

code_13

Tùy biến Custom Field trong Wordpress

Vì theme này viết mình sẽ không sử dụng plugin SEO chạy với web vì thế mình sẽ sử dụng Custom Field để cấu hình thẻ Title, Description, Keywords cho theme.

Mở file header.php và thay đổi code sau:

Mình sẽ viết đơn giản nhất để bạn có thể hiểu được

<title>
    <?php if (is_home()): ?>
      <?php bloginfo('name') ?>
    <?php elseif( is_single() ): ?>
        <?php echo get_field('seo_title'); ?>
    <?php else: ?>
      <?php wp_title('', true,''); ?>
    <?php endif ?>
</title>

<?php if (is_home()): ?> <!-- Khi ở trang chủ -->
    <meta name="description" content="<?php bloginfo('description') ?>" />
<?php elseif(is_single()): ?> <!-- Khi ở trang bài viết -->
    <meta name="description" content="<?php echo get_field('seo_description'); ?>" />
    <meta name="keywords" content="<?php echo get_field('seo_keywords'); ?>" />
<?php endif ?>

Giải thích:

Ta dùng hàm is_home để xác định vị trí trang chủ
hàm is_single để xác định đây là bài viết
hàm wp_title dùng để show tiêu đề toàn cục cho các category, page, search...
hàm get_field sử dụng để gọi tên của custom field ta định nghĩa trong Backend
blog_info('name')blog_info('description') sẽ lấy ở phần Backend WP

Hướng dẫn tạo custom field trong Wordpress.

Custom field bạn hiểu đơn giản là nó cho phép ta tạo dữ liệu trong bài viết, tạo khung, select, checkbox đại khái là những cái Wordpress không có nhưng ta muốn thêm vào.

Để tạo custom field cho wordpress bạn tải plugin sau: Advanced Custom Fields đây là plugin giúp ta tạo custom field nhanh chóng.

Sau khi cài đặt xong và kích hoạt plugin bạn vào Custom Fields và chọn Add New

Kế đến bạn chọn Add Field

Sẽ xuất hiện như hình

  1. Tiêu đề của custom field
  2. Tên của custom field
  3. Loại custom field, ở đây mình chọn là text
  4. Giới hạn nhập
  5. Post type là dạng post
  6. Add Field

Lần lượt làm tiếp cho Seo description và Seo keywords, nhưng ở bước 3 mình chọn loại textarea.

Sau đó bạn bấm Update

Vào phần Posts > add New bạn sẽ thấy

Từ giờ khi viết bài bạn sẽ chèn thêm nội dung ở 3 khung sau để tối ưu tiêu đề, mô tả, từ khóa của mỗi bài nhé.

  • Seo title: <= 65 ký tự
  • Seo description: <= 156 ký tự
  • Seo keywords: <= 10 từ

Nếu dùng Chrome bạn có thể tải extension seo one click để đo SEO.


Kết quả ở ngoài trang chủ

Kết quả ở bài viết

File code phần 10: miniblog_p10

Cám ơn bạn đã đọc bài viết, hãy share nếu có thể bạn nhé.