Thực thi shortcode với mọi chuỗi nội dung trong wordpress

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Thực thi shortcode với mọi chuỗi nội dung trong wordpress

Trong bài trước, mình có hướng dẫn bạn cách chèn shortcode trong widget text, tựa như như việc làm đó bạn cũng có thể thực thi shortcode trong mọi chuỗi nội dung ngoài nội dung bài viết the_content .

Cách 1 : Gọi shortcode trong code:

 echo do_shortcode("shfdsfdsf [shortcode1] sdfnskfdg");  

Có thể thực thi nhiều shortcode tìm thấy trong tham số chuỗi truyền vào hàm do_shortcode. Lưu ý: để hiển thị các nội dung cạnh bên các shortcode thì đáp ứng những shortcode đó thanh toán về giá trị (return) không được print giá trị sử dụng echo, print…

Cách 2 :
Nếu không làm được cách 1, chúng ta chuyển sang cách dùng gián tiếp hàm do_shortcode thông qua filter. Và Hàm filter của bạn đã sử dụng trong nội dung tại file nào đó, bạn không muốn can thiệp thêm code để sửa nội dung của file. Vậy thì làm thế nào?

Tạo filter mới và liên kết vào hàm do_shortcode .

 add_filter("hoangweb_do_shortcode","do_shortcode");  

Giả sử hàm filter mình nhắc tới ở trên là “hoangweb_do_shortcode”. Như vậy khi gọi filter hoangweb_do_shortcode sẽ gọi hàm do_shortcode. Khác với action, thêm filter sẽ thay thế hàm liên kết có ưu ái trước. Ví dụ:

 add_filter( 'hoang', 'do_shortcode' ); add_filter('hoang','abc1'); function abc1(){return 'OK';}  

do_shortcode có priority nhỏ hơn custom filter bạn tạo thêm có nghĩa do_shortcode luôn được gọi cho dù khai báo lại filter ở đầu file hay cuối file.

Cuối cùng thực thi filter hoangweb_do_shortcode sẽ cho ra kết quả tựa như lúc gọi trực tiếp hàm do_shortcode như ở trên.

 echo apply_filters('hoangweb_do_shortcode',$str);  

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng phương pháp đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dấu blog này trên Twitter và Facebook

Bài viết Thực thi shortcode với mọi chuỗi nội dung trong wordpress được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang