Trong những chức năng của WordPress, shortcode là chức năng tôi hay dùng nhất, sức mạnh của shortcode đó là có thể cho nó hiển thị bất cứ đâu, bất cứ khi nào, cho dù là post hay page, hay thậm chí là category, nếu bạn đang muốn thực hiện một shortcode nào đó hãy dùng hàm do_shortcode();
Trước khi chúng ta bắt đầu, hãy duyệt qua danh sách các hàm làm việc cùng với shortcode của WordPress:
Function: do_shortcode() Function: add_shortcode() Function: remove_shortcode() Function: remove_all_shortcodes() Function: shortcode_atts() Function: strip_shortcodes() Function: shortcode_exists() Function: has_shortcode() Function: get_shortcode_regex() Function: wp_audio_shortcode() Function: wp_video_shortcode() Filter: no_texturize_shortcodes
Tạo shortcode đơn giản
Từ trang giao diện, hãy tạo một bài viết mới với nội dung là:
[this_is_a_shortcode]
Từ file functions.php của gói giao diện hãy thêm hàm sau:
add_shortcode('this_is_a_shortcode', 'function_doshortcode');
function function_doshortcode() {
echo " Đây là text sẽ được thay thế vào phần shortcode [this_is_a_shortcode] của bài đăng";
}
Vậy là bạn đã làm được một shortcode với hàm thực thi shortcode đơn giản rồi đó nhé, các bạn nên để ý là “return” và “echo”, echo là hiển thị còn return là trả về kết quả, nếu dùng return thì shortcode ở đâu thì function trả về và hiển thị ở đó, còn echo là hiển thị trên đầu bài đăng luôn.
Tạo shortcode với tham số và nội dung
Tôi lấy ví dụ như sau:
Trong bài đăng tôi tạo một shortcode là:
[shortcode id="galary"]Đây là content nè ![/shortcode]
Và hàm để bóc tách chúng trong file functions.php như sau:
add_shortcode('shortcode', 'functiontorun');
function functiontorun( $arg, $content) {
// để lấy được tham số ID, ta dùng : $arg['id']
$id = $arg['id'];
// để lấy được content trong shortcode, ta dùng $content;
$content = $content;
}
KHi lấy được giá trị rồi thì các bạn thích xử lý và trả về như thế nào là việc của các bạn ! 😛
Một số mẹo với shortcode trong WordPress
Nếu các bạn muốn hiển thị hoặc sử dụng shortcode trong một file php hoặc bất kỳ chỗ nào các bạn thích, hãy sử dụng hàm do_shortcode(‘XYZ’); trong đó XYZ là tên shortcode, vậy là không cứ gì trong content mới có thể dùng được chúng đúng không nào ?
Tiếp theo, các bạn cũng có thể dùng shortcode trong các widget, bình thường luôn, bằng cách:
add_filter('widget_text', 'do_shortcode');
Nhớ cho dòng lệnh này vào functions.php, mọi shortcode trong các text của Widget sẽ được thực thi nếu có !
Và còn rất nhiều thứ hay ho với Shortcode của WordPress, các bạn có thể tìm thêm trên internet hoặc tự làm lấy, hoặc các bạn có thể tiếp tục theo dõi blog của Jam để có những “thứ” hay ho nhé 😀
Chúc các bạn thành công !
Không biết post ở đâu , có vấn đề này hỏi Jam tí : site của mính mà bị nó báo như thế này:
You have been locked out due to too many login attempts.
và kết quả không vào được, vậy cách xử lý như thế nào
Bạn dang dùng iThemes Security à? Mình là mình chúa ghét cái plugin này. 😛 Xem cách khắc phục vấn đề ở đây nhé: http://ithemes.com/security/fixing-ithemes-security-lockouts/ 😛
Vậy theo bạn Hiếu , mình bỏ nó đi thì có ảnh hưởng gì không
Cái plugin Security như người bảo vệ mình trước các đợt tấn công, nên nếu xóa đi thì không còn an toàn nữa !
Mấy cái thủ thuật ở trong iThemes Security đều có thể làm bằng tay được mà. :)) 😛
Mình chả bao giờ dùng Shortcode luôn 😀
ngoài lề tý 1 mất đêm cuối cùng web em cũng nhanh hơn web bác hiển rồi
đấy là em test = Google Page Speed
Chúc mừng bạn nha, nhanh hơn là tốt lắm đây !
Điểm thì đúng là cao thật. Nhưng sự thực thì nó không giống như bạn nghĩ. Hình ảnh load lúc được lúc không. Tốc độ thì lúc nhanh lúc chậm. Load òn chậm hơn cả blog của mình. 😛 Mà mình chẳng dùng plugin để tối ưu đâu nhé. Chẳng qua là bạn đang sử dụng cái WP Super Cache nên bị ảo tưởng mà thôi. :)) =))
Web mình chả cache gì, mà cache với không cache thấy lết lết như nhau nên…. THÔI KỆ CHA NÓ 🙂
Mà nhanh hơn bác Dâm thì hosting bác ngon đấy. Web bác Dâm nhanh thì cứ phải gọi là ABC :)))))
Site mình chả dùng plugin gì mà vẫn nhẹ 😀
cho mình hỏi,mình thấy lần đầu comment trên trang của Jamviet thì sẽ có email gửi về, mình cũng tò mò muốn làm như thế, không biết Jamviet có thể chia sẽ được không ?
Xin cảm ơn !
Hoàn toàn được bạn ơi, mình viết hàm hứng người dùng mỗi khi comment, kiểm tra trong CSDL xem đã từng có chưa, sau đó gửi email chào mừng 😀
bạn có thể hướng dẫn chi tiết cách làm được không ^_^
Ông chỉ họ cài plugin đi ông cho gọn 🙂
Bạn dùng:
1) Plugin ReplyMe (hay Plugin nào tương tự là được). Để cấu hình template (giao diện) thư bạn gửi đến thành viên, cũng như tiếp nhận comment.
2) Plugin WP SMTP (hay plugin nào đó hỗ trợ SMTP là được). Để cấu hình địa chỉ email sẽ gửi thông báo đến người comment.
Hiện tại mình đang dùng 2 Plugin này để thông báo comment đến bạn đọc. Còn nếu bạn có thể code, thích code như anh Dâm thì đợi anh Dâm chia sẻ rồi 🙂
Anh Jame cho e hỏi với là. Tạo một buttom download, với demo trong bài viết như nào ạ, ví dụ như mấy site chuyên về theme nó có 2 cái nút ấy nhìn vừa đẹp vừa chuyên nghiệp ạ
Đêm nay mình sẽ viết bài đó, bạn theo dõi vào sáng mai nhé 😀 vì code hơi phức tạp chút nên mình nghĩ nên viết ra một bài viết riêng cho các bạn theo dõi tiện hơn !
Vâng hehe thanks a, Nhưng mà A có cần xem demo không ạ?
Không, mình biết hai cái nút đó 😀
A viết đi, e đang hóng =)) chứ để 2 cái chữ demo|download nó nhàm quá.
Có rồi nè 😀 https://www.jamviet.com/2014/09/them-nut-demo-va-download-vao-trong-wordpress-bang-post-meta.html