- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
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.
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 php the_excerpt(); ?>
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, '[…]') ) { $excerpt = str_replace( '[…]', '<p><a class="more-link" href="' . get_permalink() . '">Read More →</a></p><br>', $text ); } else { $excerpt = $text . '<p><a class="more-link" href="' . get_permalink() . '">Read More →</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.
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.
Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
huy says
cho em hỏi là làm thế nào để vào được cái phần html như ở trên vậy ạ??