Hướng dẫn shortcode wordpress - shortcode wordpress
Cách đây hơn một năm mình đã có một tutorial cách tự viết một shortcode dành cho riêng mình. Nhưng sau khi đọc lại bài đó thì thấy khá lủng củng ở nhiều chi tiết và quá dài nên ở bài này mình xin viết lại theo hướng dễ hiểu nhất cho những ai chưa biết, cũng như tóm gọn lại những ý quan trọng cần truyền tải.dễ hiểu nhất cho những ai chưa biết, cũng như tóm gọn lại những ý quan trọng cần truyền tải. Show Shortcode là gì?Shortcode dịch theo đúng tiếng Việt nghĩa là Code ngắn hay nói cách khác là một đoạn code ngắn. Đoạn code ngắn này sẽ thực thi những tác vụ gì đó mà bạn đã định sẵn trong lúc tạo shortcode, ví dụ như hiển thị một Loop chẳng hạn. Bạn có thể thực thi shortcode này ở bất cứ đâu như trong bài viết, trong theme, ngoại trừ excerpt và widget, nhưng mình sẽ có cách hướng dẫn bạn khắc phục. dịch theo đúng tiếng Việt nghĩa là Code ngắn hay nói cách khác là một đoạn code ngắn. Đoạn code ngắn này sẽ thực thi những tác vụ gì đó mà bạn đã định sẵn trong lúc tạo shortcode, ví dụ như hiển thị một Loop chẳng hạn. Bạn có thể thực thi shortcode này ở bất cứ đâu như trong bài viết, trong theme, ngoại trừ excerpt và widget, nhưng mình sẽ có cách hướng dẫn bạn khắc phục. Bây giờ shortcode được sử dụng khá phổ biến, bạn có thể vào thư viện plugin WordPress và tìm plugin với từ khóa shortcode ra là có rất nhiều plugin hỗ trợ bạn sẵn một số shortcode đủ yêu cầu, nào là trang trí bài viết, nào là làm các công việc phức tạp hơn. Và trong nhiều theme, nó cũng có thể hỗ trợ sẵn một vài shortcode của nó. Cách tạo shortcode
Toàn bộ code trong bài này bạn viết vào file functions.php của theme nhé.functions.php của theme nhé. Để tạo một shortcode ta sẽ bao gồm 2 bước chính:
Để dễ hình dung, mình đưa ra một mẫu tạo shortcode thế này.
Những gì quan trọng mình đã comment hết vào code rồi. Nghĩa là lúc này nếu bạn viết 1 vào nội dung bài viết thì nó sẽ hiển thị cụm từ Hello World! thay cho cái shortcode bạn vừa viết. Nhưng có một vấn đề là cái chữ Hello World! nó sẽ luôn luôn ở đầu bài viết do chúng ta sử dụng lệnh echo. Nếu muốn cho nó hiển thị ngay đúng vị trí đặt shortcode, bạn nên sử dụng cú pháp return thay vì echo. Bạn có thể sửa 2 thành 3 nhé và sau này khi viết shortcode, tránh dùng 4. Tương tự, ta áp dụng thêm một xíu kiến thức về Loop và Query để tạo một shortcode hiển thị 10 bài ngẫu nhiên nhé.
Bạn có thể thấy từ đoạn 08 đến 21 mình viết loop bên trong hàm 5 và 6. Thực chất ở đây mục đích của mình không phải là cache gì cả mà mình sẽ wrap phần đó lại để mình dùng hàm 7 vào biến $list_post, sau đó là return cái biến này ra mà thôi vì khi làm shortcode mình phải dùng return mà. Nếu ai có cách nào hay hơn thì cho mình biết nhé. Bây giờ thì bạn viết shortcode 8 vào vị trí mà bạn cần hiển thị danh sách bài ngẫu nhiên trong bài là xong. Tạo shortcode sử dụng tham sốỞ phần trước chúng ta chỉ tìm hiểu qua cách tạo một shortcode đơn giản, nghĩa là nó chỉ hiển thị y chóc những gì ta đã viết vào shortcode mà không cho phép chỉnh lại theo ý muốn của người sử dụng. Nếu bạn muốn cho người dùng có thể tự sửa lại những gì hiển thị ra thì ở đây chúng ta phải sử dụng các tham số. Ví dụ, ở đoạn shortcode trên chúng ta đã cho hiển thị 10 bài viết ngẫu nhiên. Nhưng nếu khi sử dụng tham số, chúng ta có thể cho người dùng tùy biến lại tham số ở phần số lượng bài viết hiển thị ra và có thể tùy chọn thứ tự sắp xếp nếu bạn muốn. Để tạo shortcode có chứa tham số, ta tạo lại shortcode như sau:
Đầu tiên là ở phần tạo function, ta có hai tham số là 9 và 0. Biến 9 nghĩa là tham số trong shortcode và biến 0 nghĩa là đoạn nội dung được bọc trong code. Bạn xem ví dụ dưới: 3 Như vậy, ta có 4 là tham số và số 100 nghĩa là giá trị của tham số mà người dùng có thể đặt bất kỳ. Còn 0 là nội dung được bọc bên trong shortcode, nhưng ở đoạn trên mình không sử dụng biến 0 để in nên dù bạn có viết như thế thì phần 0 cũng chưa hiển thị ra đâu. Bây giờ bạn viết cái shortcode trên vào bài thì sẽ thấy nó hiển thị là “Đây là số 100“. Right? Và đó cũng chính là shortcode chứa tham số. Tương tự, mình có một ví dụ rất cơ bản như sau, ta làm một shortcode tính tổng chẳng hạn.
Và khi viết shortcode ta sẽ viết như sau: [tinhtong term1="50" term2="30"] Kết quả sẽ trả về là “Tổng là 80“. Right? Và thêm một ví dụ có sử dụng biến 0 nè.
Và bây giờ bạn thử viết trong bài shortcode này xem. 9 Có phải là nó đã in hoa toàn bộ chữ trong nội dung của shortcode không? Thế thì, tại sao ví dụ trên mình chỉ sử dụng $content mà phải khai báo cả $args? Bởi vì mặc định nếu bạn chỉ khai báo một tham số thì nó sẽ tự hiểu biến đó chính là tham số thứ nhất, nên tốt nhất bạn nên khai báo cả 2 biến, dĩ nhiên bạn có thể đặt tên bất kỳ. Tóm lại:
Cách viết shortcode vào file PHPShortcode chỉ thực thi trong trình soạn thảo của WordPress thôi chứ ở các hoàn cảnh khác nó không hiểu. Do đó nếu bạn muốn chèn shortcode vào một file PHP thì phải sử dụng hàm do_shortcode() để nó thực thi. Ví dụ như sau: 0 Cách viết shortcode vào widget TextMặc định widget Text sẽ không cho bạn chèn shortcode vào, nếu muốn nó thực thi thì bạn chỉ cần filter lại nó là xong. Chèn đoạn sau vào file functions.php 1 Những ví dụ điển hình để làm shortcodeShortcode hiển thị video từ YoutubeMặc định đoạn mã nhúng video từ Youtube sẽ có dạng. [html] [/html] Vậy thì ở đây chúng ta chơi luôn 3 tham số là:
Ok let’s do it!
Và cách viết shortcode sẽ là thế này (xóa dấu / đi): 2 Nó sẽ tự truyền các tham số mà bạn đã nhập vào shortcode. Chèn một box thông báo đủ màu sắcVí dụ này ta sẽ làm việc với $content trong shortcode.
Và thêm một xíu CSS vào file style.css nhé
Ok, bây giờ bạn có thể viết vào nội dung là 3 rồi xem kết quả nhé. Shortcode lấy thông tin FacebookỞ ví dụ này code sẽ hơi dài một chút do có sử dụng get content từ JSON thông qua Facebook Graph. Cấu trúc shortcode sẽ là 4. Cái thachpham92 nghĩa là tham số nhập vào, tức là username của Facebook cần hiển thị.
Và thêm một xíu CSS như demo 0 Ok, hãy thử xem nào. Kết bàiNhư vậy là ở bài này bạn đã biết qua cách tạo một shortcode cơ bản là như thế nào, rồi tạo một shortcode có sử dụng tham số và mình cũng đã giải thích khá kỹ càng về nó (nên bài nó mới dài thế này). Thật sự shortcode trong WordPress là một tính năng vô cùng mạnh mẽ để bạn có thể chèn một cái gì đó vào bài một cách nhanh chóng. Nhưng hãy cẩn thận khi dùng nó bởi vì nếu bạn đã dùng ở nhiều bài, sau này bạn không muốn dùng shortcode đó nữa rồi tắt đi, lúc đó mới thật sự là mệt. Nếu bạn vẫn còn thắc mắc, vui lòng để lại bình luận nhé. Thạch PhạmBé Thạch 18 tuổi, hiện công tác tại AZDIGI với vị trí giữ xe và viết thuê tại ThachPham.Com. Sở thích nghiên cứu về website, DevOps, SysAdmin và xăm mình nữa. Phương châm sống của bé là "No Pain, No Gain". Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng. |