TODO: To change the header's content go to Dr.Explain menu Options : Project Settings : HTML (CHM) Export : Setup HTML Template and Layout
×
Menu
Index

Tùy biến excerpt

 
Excerpt là cách tốt để tóm tắt nội dung bài viết,  Mặc định wordpress excerpt giới hạn 55 từ đầu tiên có trong bài viết hoặc bạn có thể tự tóm tắt bài viết bằng cách điền vào trường excerpt trong phần nhập post. Và kết thúc với ký tự [...], gọi là excerpt more.
 
*Sửa ký tự excerpt more:
Để thay đổi ký tự more [...], bạn có thể sử dụng hook the_excerpt.
 
Cách 1: Tìm và sửa lại ký tự này trong nội dung excerpt.
<?php
 
//* Customize [...] in WordPress excerpts
add_filter( 'the_excerpt', 'sp_read_more_custom_excerpt' );
function sp_read_more_custom_excerpt( $text ) {
   if ( strpos( $text, '[&hellip;]') ) {
      $excerpt = str_replace( '[&hellip;]', '<p><a class="more-link" href="' . get_permalink() . '">Read More &rarr;</a></p><br>', $text );
   } else {
      $excerpt = $text . '<p><a class="more-link" href="' . get_permalink() . '">Read More &rarr;</a></p>';
   }
   return $excerpt;
}
 
Cách này có thể không hoạt động, vì wordpress đã mã hóa chuỗi ..., thành …. Nếu bạn sử dụng dấu 3 chấm thông thường [...] sẽ không bao giờ thành công. Để tìm ra ký tự chính xác trong nội dung excerpt trước khi HTML được giải mà và hiển thị trên trình duyệt, xem chuỗi mã hóa HTML bởi hàm htmlentities.
//custom more link
function excerpt_read_more_link($output) {
    echo '<textarea>';
    echo htmlentities($output);
    echo '</textarea>';
    return $output;
}
add_filter('the_excerpt', 'excerpt_read_more_link');
 
Kết quả bạn thấy ký tự in trong trường textarea.
 
Lưu ý: Filter trên gọi trong hàm the_excerptget_the_excerpt.
 
Cách 2: Wordpress cũng có hook giúp bạn có thể tùy chỉnh nguyên ký tự excerpt more, bằng cách sử dụng filter excerpt_more bạn không cần biết chính xác ký tự excerpt more, nhưng vẫn có thể thay thế bằng chuỗi khác.
<?php
 
//* Remove [...] from WordPress excerpts
 
function afn_customize_excerpt_more( $more ) {
    return ' ';
}
add_filter('excerpt_more', 'afn_customize_excerpt_more');
 
Ví dụ khác, chúng ta thêm link xem thêm cho mỗi bài viết. Để tùy biến excerpt đầy đủ sử dụng với 3 hook như sau:
// Add Read More button to blog page and archives
add_filter( 'excerpt_more', 'wsm_add_excerpt_more' );
add_filter( 'get_the_content_more_link', 'wsm_add_excerpt_more' );
add_filter( 'the_content_more_link', 'wsm_add_excerpt_more' );
function wsm_add_excerpt_more( $more ) {
    return '<span class="more-link"><a href="' . get_permalink() . '" rel="nofollow">Đọc tiếp</a></span>';
}
 
* Xóa thẻ <p> bao quanh nội dung excerpt:
Sử dụng filter the_excerpt và hàm thay thế chuỗi trong php rất đơn giản như thế này:
add_filter('the_excerpt','except');
function except($excerpt){
     $tags = array("<p>", "</p>");
     return str_replace($tags, "", $excerpt);
}
 
* excerpt length.
function custom_excerpt_length( $length ) {
     return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
 
Made with help of Dr.Explain

Unregistered version