Khi hiển thị bài viết ở trang lưu trữ hay trang chủ, ngoài tiêu đề và ảnh đại diện, thứ mà không thể thiếu chính là mô tả ngắn (excerpt).
Hiển thị mô tả ngắn
Thay vì hiển thị toàn bộ nội dung bài viết, mô tả ngắn giúp trích một đoạn trong nội dung hiển thị để người đọc hiểu qua được nội dung của bài viết một cách đơn giản và ngắn gọn nhất. Bạn có thể hiển thị mô tả ngắn bằng các cách sau đây:
the_excerpt()
Bạn có thể xem để hiểu sâu hơn về the_excerpt():
function the_excerpt() {
/**
* Filters the displayed post excerpt.
*
* @since 0.71
*
* @see get_the_excerpt()
*
* @param string $post_excerpt The post excerpt.
*/
echo apply_filters( 'the_excerpt', get_the_excerpt() );
}
Khi bạn dùng the_excerpt() sẽ hiển thị một đoạn mô tả ngắn với các tag, nôm na dễ hiểu nhất như sau. Ta có một đoạn nội dung bài viết hiển thị dưới dạng HTML như sau:
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam eleifend dolor et bibendum malesuada. Mauris molestie semper arcu vitae aliquet. Vivamus imperdiet, sapien et varius bibendum, massa felis ornare nisl, ornare fringilla elit metus a elit. Nullam mattis molestie nunc id porta. Maecenas aliquam tortor nibh, at tincidunt nulla pretium vel. Duis justo ligula, egestas ac metus eget, egestas efficitur libero. Quisque id ligula eu augue tristique scelerisque. Nam tincidunt quam ac pretium pulvinar. Maecenas ac erat nisl. Aliquam accumsan, mauris eu viverra consectetur, sem neque accumsan ex, vitae suscipit lectus justo at ex. Ut ligula sapien, tincidunt nec semper id, imperdiet a tellus. Donec bibendum massa sapien, in pretium diam commodo id.
</p>
<p>
Vivamus imperdiet mi est, et tincidunt turpis luctus sed. In hac habitasse platea dictumst. Quisque et sodales est, at faucibus nunc. Ut ultrices tellus nisl. Integer semper, orci nec aliquet sollicitudin, ante nisl mattis neque, sed imperdiet ligula arcu eu lectus. Proin augue eros, fringilla sed risus at, luctus maximus elit. Vestibulum id sollicitudin eros, sit amet lacinia sapien. Vivamus quis iaculis turpis, at sodales augue. Aenean accumsan magna id justo egestas, nec gravida augue pretium. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc purus nulla, ullamcorper et ante rutrum, volutpat sagittis sem.
</p>
the_excerpt() sẽ trả về hiển thị ở dạng mô tả ngắn như sau:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam eleifend dolor et bibendum malesuada. Mauris molestie semper arcu vitae aliquet. Vivamus imperdiet, sapien et varius bibendum, massa felis ornare nisl, ornare fringilla elit metus a elit. Nullam mattis molestie nunc id porta. Maecenas aliquam tortor nibh, at tincidunt nulla pretium vel. Duis justo ligula, egestas […]</p>
Đúng vậy, nó đã tự sinh ra thẻ <p>, khá là phiền phức với những bạn để mô tả ngắn trong một thẻ khác, vậy chúng ta chuyển phương án sang cách thứ 2.
get_the_excerpt()
Bạn có thể xem để hiểu sâu hơn về get_the_excerpt():
function get_the_excerpt( $post = null ) {
if ( is_bool( $post ) ) {
_deprecated_argument( __FUNCTION__, '2.3.0' );
}
$post = get_post( $post );
if ( empty( $post ) ) {
return '';
}
if ( post_password_required( $post ) ) {
return __( 'There is no excerpt because this is a protected post.' );
}
/**
* Filters the retrieved post excerpt.
*
* @since 1.2.0
* @since 4.5.0 Introduced the `$post` parameter.
*
* @param string $post_excerpt The post excerpt.
* @param WP_Post $post Post object.
*/
return apply_filters( 'get_the_excerpt', $post->post_excerpt, $post );
}
Copy đoạn sau ở nơi muốn hiển thị mô tả ngắn
<?php echo get_the_excerpt() ?>
get_the_excerpt() sẽ trả về hiển thị ở dạng mô tả ngắn như sau:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam eleifend dolor et bibendum malesuada. Mauris molestie semper arcu vitae aliquet. Vivamus imperdiet, sapien et varius bibendum, massa felis ornare nisl, ornare fringilla elit metus a elit. Nullam mattis molestie nunc id porta. Maecenas aliquam tortor nibh, at tincidunt nulla pretium vel. Duis justo ligula, egestas […]
Có thể để ý rằng, không còn tag <p>, các chữ sát nhau hơn.
Mình hay dùng cách này nhất vì gọi ra sẽ không sợ ảnh hưởng bất kì HTML như nào, các bạn có thể tham khảo.
excerpt(x)
Mặc định gọi mô tả ngắn của WordPress là 55 từ, mình sẽ hướng dẫn bạn đổi số lượng từ mô tả ngắn ở bên dưới nhưng sẽ là cho toàn trang. Vậy chỗ bạn muốn hiển thị 10 từ, chỗ bạn muốn hiển thị 20 từ thì sao? Đây chính là phương án mình chỉ cho các bạn, tại file function.php, các bạn copy đoạn code sau:
Khi bạn đăng nhập lần đầu tiên bằng nút Đăng nhập Xã hội, chúng tôi thu thập thông tin hồ sơ công khai tài khoản của bạn được chia sẻ bởi nhà cung cấp Đăng nhập Xã hội, dựa trên cài đặt quyền riêng tư của bạn. Chúng tôi cũng nhận được địa chỉ email của bạn để tự động tạo tài khoản cho bạn trong trang web của chúng tôi. Khi tài khoản của bạn được tạo, bạn sẽ đăng nhập vào tài khoản này.
Không đồng ýĐồng ý
Kết nối với
Tôi cho phép tạo tài khoản
Khi bạn đăng nhập lần đầu tiên bằng nút Đăng nhập Xã hội, chúng tôi thu thập thông tin hồ sơ công khai tài khoản của bạn được chia sẻ bởi nhà cung cấp Đăng nhập Xã hội, dựa trên cài đặt quyền riêng tư của bạn. Chúng tôi cũng nhận được địa chỉ email của bạn để tự động tạo tài khoản cho bạn trong trang web của chúng tôi. Khi tài khoản của bạn được tạo, bạn sẽ đăng nhập vào tài khoản này.
Không đồng ýĐồng ý
2 Comments
Cũ nhất
Mới nhấtĐược bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Trong Anh Nguyen Thanh
2 năm trước
Bạn ơi, mình đang làm về wordpress, bạn cho mình hỏi có cách nào để hiển thị mô tả ngắn mà không bị trùng dữ liệu không bạn?
Bạn ơi, mình đang làm về wordpress, bạn cho mình hỏi có cách nào để hiển thị mô tả ngắn mà không bị trùng dữ liệu không bạn?
Bình thường mô tả ngắn sẽ get của bài viết đó ạ, nên không bị trùng lặp đâu, bạn có thể cung cấp rõ hơn để mình hỗ trợ không