Hướng dẫn tạo shortcode và ứng dụng trong wordpress

by admincp
37 Xem

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):

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 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

Bài viết liên quan

Leave a Comment