- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Trong bài viết này, mình sẽ hướng dẫn các bạn hiểu về shortcode và cách hoạt động cũng như cách sử dụng chúng một cách hiệu quả. Vậy shortcode được hiểu như thế nào, mình xin lấy ví dụ đơn giản: Giả sử ta có shortcode tên get_name, và nội dung của shortcode là chuỗi html: “Mr.Hoang” chúng ta chèn chuỗi shortcode sau vào bài viết (post):
[get_name]
Những chỗ nào được chèn chuỗi này thì sẽ hiển thị nội dung html của shortcode đó khi xem bài viết.
Tạo và sử dụng shortcode
Bản chất gọi shortcode là gọi hàm, tạo shortcode chính là tạo hàm. Shortcode thường dùng vào việc hiển thị nội dung.
Đoạn mã sau đây tạo shortcode “userinfo”.
//tạo shorcode add_shortcode('userinfo','echo_hello'); function echo_hello($prop){ $d=shortcode_atts(array('name'=>'Mr Danh','age'=>'22'),$prop); #note: arg là giá trị mặc định nếu k tìm thấy. nếu k chỉ định ở đây thì coi như thuộc tính đó k có. extract($d); echo 'Name: ',$name,', Age:',$age; }
Chú ý: Vì shortcode được thiết kế có vai trò như một hàm, do đó có thuộc tính truyền vào. Hàm shortcode_atts
để lấy thuộc tính của shortcode và sử dụng vào trong hàm. Chú ý: tham số đầu tiên của shortcode_atts
xác định các thuộc tính của shortcode. Tham số thứ 2 là giá trị của thuộc tính được truyền vào shortcode, nó sẽ thay thế giá trị thuộc tính mặc định được chỉ định ở tham số đầu. Quan trọng: Nếu tham số đầu tiên là mảng trống tức không chỉ định các thuộc tính của shortcode thì shortcode này không có thuộc tính cho dù có truyền thuộc tính vào shortcode. Tuy nhiên có thể lấy giá trị thuộc tính từ tham số $prop mà không cần qua hàm shortcode_atts
.
Giờ mình sẽ chèn shortcode vào viết, sử dụng cú pháp dưới đây:
Thong tin user: [userinfo name="mr.huy" age="23"]
Kết quả:
Thong tin user:
Name: mr.huy, Age: 23
Sử dụng thuộc tính mặc định.
Thong tin user: [userinfo]
Kết quả:
Thong tin user: Name: Mr Danh, Age: 22
Có 2 cách sử dụng shortcode, gọi shortcode thông qua chuỗi chính là cách trên. Ngoài ra bạn có thể thực thi shortcode trong code, sử dụng do_shortcode
.
< ?php do_shortcode('[userinfo]'); ?>
Loại bỏ shortcode trong chuỗi
Trong nội dung bài viết, nếu bạn không muốn sử dụng/cho hiển thị shortcode thì có thể bỏ chúng đi. Code sau đây xoá bỏ toàn bộ shortcode trong nội dung bài viết.
$post_content=get_the_post(); echo strip_shortcodes($post_content);
Một vài ứng dụng của shortcode
Sử dụng shortcode để Include file.
/*Using the WordPress Shortcode API to include an external file in the post content*/ -To do this the first thing that has to be done is to create a Shortcode function in the functions.php function include_file($atts) { //check the input and override the default filepath NULL //if filepath was specified extract(shortcode_atts(array('filepath' => 'NULL'), $atts)); //check if the filepath was specified and if the file exists if ($filepath!='NULL' && file_exists(TEMPLATEPATH.$filepath)){ //turno on output buffering to capture script output ob_start(); //include the specified file include(TEMPLATEPATH.$filepath); //assign the file output to $content variable and clean buffer $content = ob_get_clean(); //return the $content //return is important for the output to appear at the correct position //in the content return $content; } } //register the Shortcode handler add_shortcode('include', 'include_file');
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 Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype