Trang chủ WordpressWordpress Development Serie video học Lập trình plugin dự báo thời tiết (TP Weather)

Serie video học Lập trình plugin dự báo thời tiết (TP Weather)

bởi Thạch Phạm
0 bình luận 4,1K views

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Một trong các câu hỏi mình nhận được nhiều từ độc giả tại Thachpham.com đó chính là làm sao có thể tự lập trình một plugin trong WordPress, kể cả những người có kinh nghiệm lập trình lẫn người chưa biết lập trình. Ai cũng biết rằng WordPress là một CMS mã nguồn mở được viết bằng ngôn ngữ PHP, nên nếu muốn đụng vào phần core (hay còn gọi là phần lõi của mã nguồn) thì chắc chắn phải nắm vững kiến thức về PHP, kể cả lập trình theme hay lập trình plugin.

Nếu bạn chưa có kiến thức về PHP thì mình khuyên bạn nên học PHP căn bản để có thể hiểu được những gì mà chúng ta đang làm. Còn nếu bạn đã có kiến thức PHP rồi mà chưa có kinh nghiệm lập trình plugin thì serie video này sẽ giúp bạn điều đó.

Giới thiệu về tác giả

Bộ video học lập trình plugin này không phải do mình quay mà là do một giảng viên PHP tại QHOnline.Info tên Ân Vũ tham gia giảng dạy theo lời mời của mình, nhưng dẫu sao thì nó cũng là một serie học dành cho độc giả tại ThachPham.Com như các serie khác mình đã làm.

Tổng quan nội dung của serie

Trong serie này, mặc dù chúng ta sẽ viết plugin với một chức năng là lấy thông tin dự báo thời tiết của các tỉnh thành, nhưng với ví dụ đó bạn sẽ biết rõ hơn về cách triển khai một plugin và cách viết plugin theo mô hình code chuyên nghiệp, thuận tiện cho việc nâng cấp sau này.

Khuyến mãi Black Friday

Cụ thể hơn, với ứng dụng lấy thông tin dự báo thời tiết thông qua một API miễn phí, bạn sẽ biết cách áp dụng kỹ thuật xử lý dữ liệu kiểu JSON, ứng dụng AJAX để lấy thông tin đó để đưa ra ngoài widget và đặc biệt là sử dụng transient để lưu Object Cache để giảm tải cho máy chủ.

Còn đi sâu vào hơn như thế nào thì bạn hãy tự khám phá ra khi xem video nhé.

Tài nguyên

Trước khi bắt đầu làm theo video, bạn hãy tải file nguồn có sẵn tại đây, đó chỉ là template bằng HTML và CSS để bạn khỏi mất công dựng lại template thôi.

Tải file nguồn chuẩn bị

Và nếu bạn có nhu cầu tham khảo code, hãy tải file mã nguồn đã hoàn thành bên dưới.

Tải mã nguồn đã hoàn thành

Danh sách bài học

  1. [Lập trình plugin TP Weather] – Phần 1 – Sơ lược Action & Filter hook 
  2. [Lập trình plugin TP Weather] – Phần 2 – Tạo plugin và sơ lược về API
  3. [Lập trình plugin TP Weather] – Phần 3 – Tạo thư viện tương tác API
  4. [Lập trình plugin TP Weather] – Phần 4 – Xây dựng widget thời tiết 
  5. [Lập trình plugin TP Weather] – Phần 5 – widget thời tiết và Settings
  6. [Lập trình plugin TP Weather] – Phần 6 – Hoàn tất xây dựng Settings
  7. [Lập trình plugin TP Weather] – Phần 7 – Hoàn tất xây dựng Widget thời tiết
  8. [Lập trình plugin TP Weather] – Phần cuối – Lưu cache dữ liệu thời tiết

Playlist trên Youtubehttps://www.youtube.com/playlist?list=PLl4nkmb3a8w2mZDbIzTb5mLI9tcjXxV7M

Thay thế hàm file_get_contents()

Khi xem qua Video, bạn cũng thấy sự bất cập từ hàm file_get_contents() rồi có đúng không nào? Đôi lúc, hàm này xảy ra lỗi khiến việc load dữ liệu về không chính xác.

Vậy để có thể hạn chế điều này, WordPress cũng đã cung cấp cho chúng ta một số hàm chuyên dụng để thực hiện việc này. Bạn có thể thay thế đoạn code sau vào thư viện TP_Weather_API mà chúng ta đã tạo trước đó bằng việc thay thế các hàm có đoạn code tương ứng như sau:

Tìm:

@$fget = file_get_contents($url);
if ($fget) {
return self::get_JSON($fget);
}

Thay thành

@$fget = wp_remote_get($url);
if ($fget) {
return self::get_JSON($fget[‘body’]);
} else {
return false;
}

Và tương tự với phương thức request trong thư viện API thành :

@$fget = wp_remote_get($url);
if ($fget) {
$return[] = self::get_JSON($fget[‘body’]);
}

Chúc các bạn thành công!

Đánh giá nội dung này
0 bình luận

Có thể bạn quan tâm

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.