Dùng code trong functions.php hay plugin

Cập nhật lần cuối vào

Nếu bạn đang học lập trình WordPress chắc bạn cũng biết cơ chế hoạt động của tập tin functions.php và một plugin trong WordPress. Cả 2 cái này đều cho phép bạn tạo hàm để sử dụng, nếu bạn là người hay có thói quen sưu tầm những hàm PHP hay và nhét vào tập tin functions.php của giao diện thì bài viết này mình sẽ thảo luận với bạn một chút về sử dụng tập tin functions.php hay là viết plugin cho WordPress.

Dùng code trong functions.php hay plugin

Đây là vấn đề luôn được nhiều người quan tâm, đối với những người đã theo lập trình WordPress lâu năm thì họ không coi đây là vấn đề quan trọng lắm. Về cơ bản thì bạn đều có thể khai báo hàm trong plugin và tập tin functions.php của giao diện.

Dùng code trong functions.php hay plugin?

Nếu đã nói là dùng hàm trong functions.php và trong plugin là như nhau, vậy tại sao mình lại viết thêm bài này để làm gì? Đành rằng nó là như nhau, nhưng đi sâu vào bên trong thì nó sẽ khác. Để có thể xác định được bạn nên dùng tập tin functions.php của giao diện hay là dùng plugin thì bạn sẽ trả lời các câu hỏi sau.

  1. Các hàm bạn đang viết có được sử dụng trên nhiều giao diện khác nhau hay chỉ đơn thuần là sử dụng cho giao diện hiện tại?
  2. Các hàm bạn đang viết có cần phải mở rộng hay nâng cấp sau này hay không?
  3. Khi thay đổi giao diện, liệu nội dung trong cơ sở dữ liệu có hiển thị tốt hay không?

Nếu câu trả lời của bạn là chỉ sử dụng trên giao diện hiện tại, không cần mở rộng gì thêm và sẽ không ảnh hưởng đến dữ liệu bên trong thì bạn nên bỏ các hàm vào tập tin functions.php của giao diện. Ngược lại, bạn nên viết 1 plugin riêng và cho các hàm của bạn vào bên trong plugin này.

Dẫu là thế, nhưng mình tin chắc rằng bạn đang nghi ngờ liệu dùng nhiều plugin có ảnh hưởng đến trang blog yêu quý mà bạn đang sở hữu hay không? Có nhiều bạn đang tin rằng cài đặt nhiều plugin sẽ làm chậm blog. Suy nghĩ này không hoàn toàn đúng, bạn có thể tìm đọc lại bài viết trên website Học WordPress để hiểu rõ thêm về vấn đề này.

Xem thêm: Cài nhiều plugin làm chậm WordPress?

Cùng một khối lượng code như nhau, cùng một chức năng như nhau, các hàm giống như nhau, cách thức viết code giống như nhau, khi bạn đặt vào tập tin functions.php và tạo thành 1 plugin riêng thì nó sẽ hoạt động giống nhau.

Cách thức hoạt động của WordPress

Nhìn vào hình bên trên bạn sẽ thấy được cách thức hoạt động của WordPress, nếu như các hàm của bạn được viết thành 1 plugin thì nó sẽ được load trước giao diện. Nếu như hàm của bạn được đặt trong plugin thì bạn sẽ sử dụng được trên mọi giao diện nếu plugin đó kích hoạt, nhưng nếu hàm của bạn được đặt ở giao diện và bạn muốn gọi nó trên plugin thì phải làm sao?

Nếu như bạn gọi hàm trong giao diện trên plugin theo cách thông thường thì sẽ không được, hệ thống sẽ báo lỗi PHP Fatal error: Call to undefined function. Nhưng bạn có thể dùng cách khác, WordPress cung cấp cho bạn các hook để bạn chen ngang các hành động trong quá trình tải nội dung. Trong sơ đồ bên trên, nếu bạn muốn gọi các hàm trong tập tin functions.php của giao diện thì bạn phải dùng các hook kể từ after_setup_theme trở về sau.

Qua bài viết này thì bạn đã phần nào hình dung ra được cách thức hoạt động của WordPress Core cũng như là cách thức hoạt động của 1 plugin so với tập tin functions.php của giao diện. Cho dù bạn đặt code ở nơi nào trên blog thì nó cũng hoạt động giống nhau, tầm ảnh hưởng tới trang của bạn là như nhau, tuy nhiên khi gọi hàm thì bạn nên nhớ kiểm tra sự tồn tại trước khi gọi.

Nếu bạn muốn viết các shortcode để tiện cho việc đăng bài thì bạn nên chuyển thành plugin, vì khi bạn thay đổi giao diện thì các shortcode bạn đã viết bên trong nội dung bài viết sẽ không hoạt động. Tương tự đối với các chức năng khác, nếu bạn muốn dùng nhiều lần trên nhiều website khác nhau thì bạn nên viết thành plugin.

Theo dõi
Thông báo của
guest

0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận