1. Tìm hiểu khái niệm shortcode
Nếu bạn đã từng làm việc với WordPress thì có lẽ bạn không lạ gì với khái niệm shortcode. Như tên gọi, shortcode đơn giản chỉ là các đoạn code ngắn để chèn vào nội dung bài viết cho tiện, khi thực thi, nó sẽ gọi các đoạn code dài hơn, phức tạp hơn được lưu trong các hàm tương ứng. Shortcode cho phép bạn linh động và dễ dàng chèn mọi nội dung phức tạp vào trang web.
Ví dụ bạn thấy trên trang web của tôi thường xuất hiện cụm từ MyLop.BanMai.Info, và để cụm từ này được nhất quán trên toàn bộ trang web, cũng như dễ dàng trong quá trình biên soạn bài viết, tôi đã dùng shortcode:
[my_site][/my_site] |
Tại vị trí chèn shortcode my_site, lúc thực thi thực sự nó sẽ chèn đoạn code sau:
<a href="https://mylop.banmai.info" title="Lớp học của tôi, Tình yêu của tôi - MyLớp is MyLove" class="my_site"> <span>MyLớp.edu.vn</span> </a> |
Đấy là một ví dụ hết sức đơn giản để bạn hiểu về shortcode.
2. Làm việc với shortcode
Để làm việc với shortcode trong WordPress cũng khá đơn giản, nếu bạn đã thành thạo, vui lòng bỏ qua bước này. Ở một bài viết khác MyLop.BanMai.Info sẽ cùng bạn tìm hiểu sâu hơn về kỹ thuật này, còn bây giờ, chúng ta hãy thử tạo một shortcode đơn giản nhé. Đó chính là shortcode my_site vừa được đề cập tới ở phía trên. Các đoạn code này bạn chèn vào file functions.php trong thư mục theme của bạn.
//[my_site] - Tên shortcode lúc chèn vào bài viết function my_site_func($args, $content) { return '<a href="' . site_url() . '" title="Lớp học của tôi, Tình yêu của tôi - MyLớp is MyLove" class="my_site"><span>MyLớp.edu.vn</span></a>'; } add_shortcode( 'my_site', 'my_site_func' ); |
Để tìm hiểu kỹ hơn về shortcode trong WordPress, bạn có thể xem thêm tại WordPress Codex.
3. Bật shortcode cho Excerpt hoặc Text Widget
Shortcode mặc định được bật để có thể chèn vào trong nội dung bài viết, nhưng lại không được bật khi bạn muốn chèn vào Excerpt hoặc Text Widget. Khi mới phát triển trang MyLop.BanMai.Info, tôi đã gặp phải vấn đề là shortcode không hoạt động trong Excerpt. Để bật nó, bạn phải thêm một bộ lọc cho hàm the_excerpt
bằng cách chèn đoạn code sau vào file functions.php trong thư mục theme của bạn:
add_filter('the_excerpt', 'do_shortcode'); |
Cũng khá đơn giản phải không nào. Tương tự, để bật shortcode cho Text Widget, bạn chèn vào đoạn code sau:
add_filter('widget_text', 'do_shortcode'); |
Lưu ý: Hãy chắc chắn rằng trong theme của bạn có sử dụng hàm
the_excerpt
, nếu không shortcode sẽ không hoạt động!
Nếu bạn không phải làm gì như hướng dẫn ở trên mà shortcode vẫn làm việc trong Excerpt hoặc Text Widget thì xin chúc mừng, bạn không phải quan tâm tới bài viết này, trong theme bạn tải về họ đã chèn sẵn các đoạn code trên cho bạn!
Một số từ khóa để tìm kiếm:
– shortcode excerpt wordpress
– shortcode wordpress
– bật shortcode cho excerpt
– thêm shortcode cho excerpt
Cheers,
Lục Đức Thành
Latest posts by Lục Đức Thành (see all)
- Cách hiển thị lượt truy cập ra ngoài front-end - 12/02/2023
- Sửa lỗi “không start được MySQL trong XAMPP” - 21/06/2020
- WordPress 5 có gì mới? - 23/12/2018
- Sublime Text 3 Portable Windows 64 bit - 11/12/2017
- Kỹ thuật nhúng font vào web và WordPress Theme - 12/11/2017
Em chào anh.
Cảm ơn anh vì bài viết này. Nhưng anh cho em hỏi là : làm sao để hiển thị được link trong excerpt như của anh được không?
Mong nhận được sự hỗ trợ của anh. Trân trọng!
Code đây bạn:
1. Trong functions.php, bạn tạo một shortcode có tên nào đó, như vd này:
2. Bật shortcode cho Excerpt (cũng ở trong file functions.php):
add_filter(‘the_excerpt’, ‘do_shortcode’);
3. Lúc tạo bài viết, mục excerpt, bạn chỉ cần chèn shortcode là xong, vd bạn chỉ cần chèn [my_site] như trong VD trên