Tắt Disqus trên Custom Post Types WordPress: Hướng dẫn chi tiết
Disqus là một nền tảng bình luận phổ biến được sử dụng rộng rãi trên các trang web, bao gồm cả các trang web WordPress. Mặc dù Disqus mang lại nhiều lợi ích như tính năng quản lý bình luận mạnh mẽ, chống spam hiệu quả và cộng đồng người dùng lớn, nhưng đôi khi bạn có thể muốn tắt Disqus trên một số loại bài đăng tùy chỉnh (Custom Post Types) nhất định trên trang web WordPress của mình. Ví dụ, bạn có thể muốn tắt bình luận Disqus trên các trang portfolio, trang landing page, hoặc các loại nội dung khác không cần tương tác bình luận.
Bài viết này sẽ hướng dẫn bạn chi tiết các phương pháp để tắt Disqus trên Custom Post Types WordPress một cách hiệu quả.
Tại sao cần tắt Disqus trên Custom Post Types?
Có nhiều lý do để bạn muốn tắt Disqus trên các loại bài đăng tùy chỉnh. Một số lý do phổ biến bao gồm:
- Giảm tải cho trang web: Disqus có thể làm chậm tốc độ tải trang, đặc biệt trên các trang có nhiều bình luận. Tắt Disqus trên các trang không cần thiết có thể giúp cải thiện hiệu suất tổng thể của trang web.
- Tập trung vào nội dung: Trên một số loại trang như portfolio hoặc landing page, mục tiêu chính là hiển thị nội dung chứ không phải thu hút bình luận. Tắt Disqus có thể giúp người dùng tập trung hơn vào nội dung chính.
- Đơn giản hóa giao diện: Việc loại bỏ khung bình luận Disqus trên một số trang có thể giúp giao diện trang web trở nên đơn giản và sạch sẽ hơn.
- Quản lý bình luận hiệu quả hơn: Nếu bạn không muốn quản lý bình luận trên một số loại nội dung nhất định, việc tắt Disqus sẽ giúp bạn tiết kiệm thời gian và công sức.
Các phương pháp tắt Disqus trên Custom Post Types WordPress
Có một số phương pháp để tắt Disqus trên Custom Post Types WordPress, từ việc sử dụng plugin đến chỉnh sửa trực tiếp code theme.
1. Sử dụng Plugin
Đây là phương pháp đơn giản và được khuyến khích cho người dùng không quen thuộc với code. Có một số plugin có thể giúp bạn quản lý cài đặt Disqus trên trang web WordPress của mình, bao gồm cả khả năng tắt Disqus trên các Custom Post Types cụ thể.
Ví dụ về plugin:
- Conditional Load Disqus: Plugin này cho phép bạn điều khiển khi nào Disqus được tải trên trang web của bạn. Bạn có thể tắt Disqus trên các Custom Post Types cụ thể, cũng như dựa trên các điều kiện khác như loại trang, danh mục, thẻ, v.v.
- Disable Comments: Mặc dù plugin này chủ yếu được sử dụng để vô hiệu hóa hoàn toàn bình luận trên trang web, nhưng nó cũng cung cấp tùy chọn để tắt bình luận (bao gồm Disqus) trên các Custom Post Types cụ thể.
Hướng dẫn sử dụng plugin Conditional Load Disqus (ví dụ):
- Cài đặt và kích hoạt plugin Conditional Load Disqus.
- Truy cập trang cài đặt của plugin (thường nằm trong phần “Settings” hoặc “Tools” của WordPress).
- Tìm tùy chọn để tắt Disqus trên các Custom Post Types.
- Chọn các Custom Post Types mà bạn muốn tắt Disqus.
- Lưu lại cài đặt.
2. Chỉnh sửa Code Theme (functions.php)
Nếu bạn cảm thấy thoải mái với việc chỉnh sửa code, bạn có thể sử dụng phương pháp này để tắt Disqus trên Custom Post Types. Phương pháp này đòi hỏi bạn phải thêm một đoạn code vào file functions.php
của theme (hoặc child theme) của bạn.
Lưu ý quan trọng: Trước khi chỉnh sửa file functions.php
, hãy sao lưu file này để đề phòng trường hợp có lỗi xảy ra. Nếu bạn không quen thuộc với việc chỉnh sửa code, hãy tham khảo ý kiến của một nhà phát triển web.
Ví dụ code:
function disable_disqus_on_custom_post_type( $disqus_options ) {
if ( is_singular( 'custom_post_type_slug' ) ) {
unset( $disqus_options['disqus_enabled'] );
}
return $disqus_options;
}
add_filter( 'dsq_options', 'disable_disqus_on_custom_post_type' );
Giải thích code:
is_singular( 'custom_post_type_slug' )
: Hàm này kiểm tra xem trang hiện tại có phải là một trang đơn của Custom Post Type có slug làcustom_post_type_slug
hay không. Thay thếcustom_post_type_slug
bằng slug thực tế của Custom Post Type mà bạn muốn tắt Disqus.unset( $disqus_options['disqus_enabled'] )
: Đoạn code này loại bỏ tùy chọndisqus_enabled
khỏi mảng$disqus_options
, do đó tắt Disqus trên trang.add_filter( 'dsq_options', 'disable_disqus_on_custom_post_type' )
: Đoạn code này thêm hàmdisable_disqus_on_custom_post_type
vào bộ lọcdsq_options
, cho phép bạn sửa đổi các tùy chọn Disqus.
Các bước thực hiện:
- Xác định slug của Custom Post Type mà bạn muốn tắt Disqus. Bạn có thể tìm thấy slug này trong phần chỉnh sửa Custom Post Type trong WordPress.
- Mở file
functions.php
của theme (hoặc child theme) của bạn. Bạn có thể truy cập file này thông qua trình chỉnh sửa theme trong WordPress (Appearance -> Theme Editor) hoặc bằng cách sử dụng FTP. - Thêm đoạn code trên vào file
functions.php
, thay thếcustom_post_type_slug
bằng slug thực tế của Custom Post Type. - Lưu lại file
functions.php
.
3. Sử dụng Conditional Tags
Một cách khác để tắt Disqus bằng code là sử dụng conditional tags của WordPress kết hợp với plugin Disqus. Phương pháp này tương tự như việc chỉnh sửa code theme, nhưng nó cho phép bạn kiểm soát chi tiết hơn khi nào Disqus được tải dựa trên các điều kiện khác nhau.
Ví dụ code (trong theme template file, ví dụ single.php):
<?php if ( ! is_singular( 'custom_post_type_slug' ) ) : ?>
<div id="disqus_thread"></div>
<script>
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables */
/*
var disqus_config = function () {
this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
*/
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://your_disqus_shortname.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<?php endif; ?>
Giải thích code:
! is_singular( 'custom_post_type_slug' )
: Điều này kiểm tra xem trang *không* phải là một trang đơn của Custom Post Type có slug là ‘custom_post_type_slug’. Code Disqus sẽ chỉ được chèn nếu điều kiện này là đúng.- Phần code còn lại là code nhúng Disqus chuẩn mà bạn nhận được từ trang web Disqus.
Các bước thực hiện:
- Xác định template file mà bạn cần chỉnh sửa (ví dụ,
single.php
nếu bạn muốn thay đổi trên trang bài viết đơn). - Tìm đoạn code nhúng Disqus trong template file.
- Bao quanh đoạn code nhúng Disqus với điều kiện
if ( ! is_singular( 'custom_post_type_slug' ) )
, thay thếcustom_post_type_slug
bằng slug của Custom Post Type. - Lưu lại file template.
Kết luận
Bài viết này đã trình bày các phương pháp khác nhau để tắt Disqus trên Custom Post Types WordPress. Việc lựa chọn phương pháp nào phụ thuộc vào mức độ quen thuộc của bạn với code và yêu cầu cụ thể của bạn. Nếu bạn không quen thuộc với code, việc sử dụng plugin là lựa chọn đơn giản và an toàn nhất. Nếu bạn muốn kiểm soát chi tiết hơn và có kiến thức về code, việc chỉnh sửa code theme hoặc sử dụng conditional tags có thể phù hợp hơn.
Hãy nhớ sao lưu trang web của bạn trước khi thực hiện bất kỳ thay đổi nào và luôn kiểm tra kỹ lưỡng sau khi thực hiện thay đổi để đảm bảo rằng mọi thứ hoạt động như mong đợi.