Home WordpressWordPress cơ bản Tùy biến nội dung cách loại bỏ […] ra khỏi wordpress excerpt

Tùy biến nội dung cách loại bỏ […] ra khỏi wordpress excerpt

by admincp

Excerpt là cách tốt để tóm tắt nội dung bài viết, một vài theme excerpt được sử dụng trong trang archive như category/taxonomy. 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.
excerpt-wp

Và kết thúc với ký tự [...], gọi là excerpt more.
Để hiển thị nội dung excerpt của bài viết, bạn sử dụng template tag trong loop query.

Tùy biến […]

Nếu bạn muốn thay đổi ký tự […] thông báo nội dung post vẫn còn, bằng một ký tự và chuỗi khác vd: Read More, bạn có thể sử dụng hook the_excerpt. Tìm và sửa lại ký tự này trong nội dung excerpt hoặc nội dung HTML mong muốn.

<? 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;
}

Lý do các bạn mắc phải không đổi được ký tự này là 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');

Bạn sẽ thấy ngay ký tự thực hiện trong textarea.
excerpt-more-entity

Trong ví dụ mình thêm class .more-link và sẽ tùy biến với CSS vào link xem bài viết chi tiết này.
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. Chép đoạn code sau vào functions.php

<? php
 
//* Remove [...] from WordPress excerpts
 
function afn_customize_excerpt_more( $more ) {
    return ' ';
}
add_filter('excerpt_more', 'afn_customize_excerpt_more');

Xem thêm một số hooks tùy biến cho post.
Nếu có mọi thắc mắc đừng ngại để lại comment.

Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên TwitterFacebook

Liên hệ

Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net

Hotline tư vấn: 0989 48 3456

Nguồn: Sưu tầm trên internet

You may also like

Leave a Comment