Thêm sticky post theo danh mục WordPress

4 tháng ago, WordPress Plugin, Views
Thêm sticky post theo danh mục WordPress

Giới Thiệu Về Việc Ghim Bài Viết Theo Danh Mục Trong WordPress

Trong thế giới WordPress năng động, việc làm nổi bật những nội dung quan trọng là vô cùng cần thiết để thu hút sự chú ý của độc giả và tối ưu hóa trải nghiệm người dùng. Một trong những cách hiệu quả để đạt được điều này là ghim bài viết theo danh mục. Thay vì chỉ ghim một bài viết duy nhất lên đầu trang chủ, việc ghim bài viết theo danh mục cho phép bạn tạo điểm nhấn cho nội dung phù hợp với sở thích và nhu cầu của từng nhóm độc giả khác nhau.

Bài viết này sẽ hướng dẫn bạn từng bước cách thực hiện việc ghim bài viết theo danh mục trong WordPress, từ việc sử dụng plugin đến viết code tùy chỉnh. Chúng ta sẽ khám phá các lợi ích, hạn chế và những cân nhắc quan trọng khi áp dụng phương pháp này.

Tại Sao Nên Ghim Bài Viết Theo Danh Mục?

Việc ghim bài viết theo danh mục mang lại nhiều lợi ích thiết thực cho website WordPress của bạn:

  • Nâng Cao Trải Nghiệm Người Dùng: Giúp độc giả dễ dàng tìm thấy những nội dung quan trọng và liên quan nhất đến họ.
  • Tăng Tương Tác: Thu hút sự chú ý đến các bài viết chất lượng, khuyến khích độc giả đọc, bình luận và chia sẻ.
  • Cải Thiện SEO: Tăng khả năng hiển thị của các bài viết quan trọng trên công cụ tìm kiếm.
  • Điều Hướng Người Dùng: Hướng dẫn người dùng đến các danh mục nội dung cụ thể mà bạn muốn họ khám phá.
  • Quảng Bá Nội Dung Quan Trọng: Dễ dàng quảng bá các chương trình khuyến mãi, thông báo quan trọng hoặc các sự kiện đặc biệt.

Các Phương Pháp Ghim Bài Viết Theo Danh Mục

Có nhiều phương pháp để ghim bài viết theo danh mục trong WordPress, mỗi phương pháp có ưu và nhược điểm riêng. Dưới đây là một số phương pháp phổ biến:

1. Sử Dụng Plugin

Đây là phương pháp đơn giản và dễ thực hiện nhất, đặc biệt phù hợp với người dùng không có nhiều kiến thức về code. Có rất nhiều plugin WordPress miễn phí và trả phí cung cấp chức năng ghim bài viết theo danh mục. Một số plugin phổ biến bao gồm:

  • Category Sticky Post: Cho phép bạn ghim một bài viết lên đầu mỗi trang danh mục.
  • Sticky Posts – Category: Cung cấp chức năng ghim bài viết theo danh mục và nhiều tùy chọn tùy chỉnh khác.
  • Advanced Category Excluder: Mặc dù không chuyên về ghim bài viết, plugin này cho phép bạn sắp xếp các bài viết theo nhiều tiêu chí khác nhau, bao gồm cả việc hiển thị một bài viết cụ thể lên đầu danh mục.

Hướng Dẫn Sử Dụng Plugin:

  1. Cài đặt và kích hoạt plugin bạn đã chọn.
  2. Truy cập trang cài đặt của plugin (thường nằm trong phần “Cài Đặt” hoặc “Công Cụ” của WordPress).
  3. Chọn danh mục bạn muốn ghim bài viết.
  4. Chọn bài viết bạn muốn ghim cho danh mục đó.
  5. Lưu cài đặt.

Ưu Điểm:

  • Dễ sử dụng, không yêu cầu kiến thức về code.
  • Nhiều plugin miễn phí và trả phí để lựa chọn.
  • Cung cấp nhiều tùy chọn tùy chỉnh.

Nhược Điểm:

  • Có thể làm chậm website nếu sử dụng quá nhiều plugin.
  • Plugin có thể không tương thích với một số theme nhất định.
  • Phụ thuộc vào nhà phát triển plugin để duy trì và cập nhật.

2. Sử Dụng Code Tùy Chỉnh

Phương pháp này đòi hỏi bạn phải có kiến thức về PHP và WordPress template. Tuy nhiên, nó cho phép bạn kiểm soát hoàn toàn cách bài viết được ghim và tích hợp nó một cách liền mạch vào theme của bạn.

Hướng Dẫn Viết Code Tùy Chỉnh:

  1. Mở file functions.php của theme bạn đang sử dụng (hoặc tạo một plugin tùy chỉnh).
  2. Thêm đoạn code sau (thay đổi ID danh mục và ID bài viết theo nhu cầu của bạn):

 function sticky_post_per_category( $query ) {
  if ( $query->is_main_query() && $query->is_category( array( 'category-slug-1', 'category-slug-2' ) ) ) { // Thay 'category-slug-1', 'category-slug-2' bằng slug của danh mục bạn muốn áp dụng
   $sticky_posts = get_option( 'sticky_posts' );
   if ( ! empty( $sticky_posts ) ) {
    $query->set( 'post__in', $sticky_posts );
    $query->set( 'ignore_sticky_posts', 1 );
   }
  }
 }
 add_action( 'pre_get_posts', 'sticky_post_per_category' );

 function front_page_category_sticky( $posts ) {
 global $wp_query;

 if ( is_home() && $wp_query->is_main_query() ) {
  $sticky_id = get_option( 'category_sticky_post_id' ); // Bạn cần tự tạo chức năng để lưu ID bài viết được ghim theo danh mục

  if ($sticky_id) {
   $sticky_post = get_post($sticky_id);

   if ($sticky_post) {
    array_unshift( $posts, $sticky_post );

    // Remove duplicates
    $posts = array_unique( $posts, SORT_REGULAR );
   }
  }
 }
 return $posts;
}
add_filter('the_posts', 'front_page_category_sticky');

Lưu ý: Đoạn code trên chỉ là một ví dụ cơ bản. Bạn cần điều chỉnh nó để phù hợp với theme và nhu cầu cụ thể của bạn. Bạn cũng cần tạo một giao diện để quản lý ID bài viết được ghim theo danh mục (ví dụ: sử dụng meta box).

Ưu Điểm:

  • Kiểm soát hoàn toàn cách bài viết được ghim.
  • Tích hợp liền mạch vào theme.
  • Không phụ thuộc vào plugin.

Nhược Điểm:

  • Đòi hỏi kiến thức về PHP và WordPress template.
  • Có thể gây lỗi nếu code không chính xác.
  • Cần bảo trì và cập nhật code khi WordPress được nâng cấp.

3. Sử Dụng Template Tags

Template tags là các hàm PHP được WordPress cung cấp để hiển thị nội dung một cách động. Bạn có thể sử dụng template tags để kiểm tra xem trang hiện tại có phải là một trang danh mục hay không, và sau đó hiển thị bài viết được ghim tương ứng.

Ví dụ:


 <?php
 if ( is_category( 'your-category-slug' ) ) {
  $sticky_post_id = get_option( 'your_category_sticky_post_id' ); // Lấy ID bài viết được ghim cho danh mục này
  if ( $sticky_post_id ) {
   $sticky_post = get_post( $sticky_post_id );
   if ( $sticky_post ) {
    echo '<h2>Bài Viết Nổi Bật</h2>';
    echo '<h3><a href="' . get_permalink( $sticky_post_id ) . '">' . $sticky_post->post_title . '</a></h3>';
    echo '<p>' . get_the_excerpt( $sticky_post_id ) . '</p>';
   }
  }
 }
 ?>

Lưu ý: Bạn cần thay đổi 'your-category-slug' bằng slug của danh mục bạn muốn áp dụng, và 'your_category_sticky_post_id' bằng tên option bạn sử dụng để lưu ID bài viết được ghim cho danh mục đó.

Ưu Điểm:

  • Linh hoạt và dễ tùy chỉnh.
  • Tích hợp tốt với theme.
  • Không cần cài đặt plugin (nếu bạn đã có sẵn chức năng lưu ID bài viết được ghim).

Nhược Điểm:

  • Đòi hỏi kiến thức về PHP và WordPress template.
  • Cần chỉnh sửa theme files.
  • Cần quản lý ID bài viết được ghim cho từng danh mục.

Những Cân Nhắc Quan Trọng

Trước khi áp dụng bất kỳ phương pháp ghim bài viết theo danh mục nào, hãy cân nhắc những điều sau:

  • Tính Thẩm Mỹ: Đảm bảo rằng bài viết được ghim hiển thị đẹp mắt và phù hợp với thiết kế tổng thể của website.
  • Khả Năng Tương Thích: Kiểm tra xem plugin hoặc code bạn sử dụng có tương thích với theme và các plugin khác của bạn hay không.
  • Hiệu Năng: Tránh sử dụng quá nhiều plugin hoặc code phức tạp có thể làm chậm website.
  • Trải Nghiệm Người Dùng: Đảm bảo rằng việc ghim bài viết không gây khó chịu hoặc làm giảm trải nghiệm người dùng.
  • Cập Nhật Thường Xuyên: Duy trì và cập nhật plugin hoặc code của bạn để đảm bảo tính bảo mật và tương thích.

Kết Luận

Ghim bài viết theo danh mục là một cách hiệu quả để làm nổi bật nội dung quan trọng và cải thiện trải nghiệm người dùng trên website WordPress của bạn. Cho dù bạn chọn sử dụng plugin, viết code tùy chỉnh hay sử dụng template tags, hãy đảm bảo rằng bạn đã cân nhắc kỹ lưỡng các lợi ích, hạn chế và những cân nhắc quan trọng để đạt được kết quả tốt nhất. Chúc bạn thành công!