Trong bài trước, mình có hướng dẫn bạn cách chèn shortcode trong widget text, tương tự như cách 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 bên cạnh các shortcode thì đảm bảo những shortcode đó phải trả về giá trị (return) không được print giá trị sử dụng echo, print…
Cách 2:
Nếu không thực hiện được cách 1, chúng ta chuyển sang cách sử 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 tiên 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ương tự khi gọi trực tiếp hàm do_shortcode như ở trên.
echo apply_filters('hoangweb_do_shortcode',$str);
Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook
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