Tạo Child Theme cho WordPress theo cách mới

Tạo WordPress Child Theme theo cách mới

Child theme có thể hiểu là 1 theme con và nó kế thừa toàn bộ các đặc điểm của theme mẹ (Parent theme). Hầu như mọi theme đều có thể dễ dàng tạo ra child theme, mục đích sử dụng của child theme là hỗ trợ tùy biến theme mẹ mà không cần tác động trực tiếp lên theme mẹ.

Mỗi theme chúng ta sử dụng thì người thiết kế sẽ liên tục đưa ra các bản cập nhật (update) cho theme đó, việc phải chỉnh sửa lại mỗi khi cập nhật theme mới không phải là điều đơn giản.

Chính vì vậy Child theme ra đời nhằm giữ lại những tùy chỉnh riêng mà không bị mất khi cập nhật theme gốc.

Child theme hoạt động ra sao?

Khi tạo 1 Child Theme, thì nếu bạn copy một file nào đó ở thư mục theme mẹ qua bên thư mục của child theme thì nó sẽ tiến hành thực thi file đó ở thư mục child theme, nếu thư mục child theme thiếu file nào thì nó sẽ thực thi file bên thư mục theme mẹ.

Riêng file functions.php của theme mẹ mẹ sẽ không bị thay đổi dù bạn có khai báo thêm file functions.php trong thư mục child theme, mà các code bên trong file functions.php của child theme sẽ tiến hành load thêm song hành với các code bên trong file functions.php của theme mẹ.

Do đó bạn có thể hiểu rằng, khi sử dụng child theme mà muốn tùy biến file nào thì chỉ cần copy file đó qua thư mục child theme và tiến hành chỉnh sửa nó, không cần đụng chạm gì tới theme mẹ.

Tạo Child Theme theo cách cũ

Cách cũ là bạn sẽ tạo một thư mục chứa child theme và tạo một file style.css cho child theme. Nếu thư mục chứa theme chính là wordpresstheme thì thư mục chứa child theme sẽ là wordpresstheme-child, chỉ đơn giản là tạo thư mục mới cùng tên thư mục theme chính và thêm phần “-child” vào.

Giả sử file style.css của theme chính có theme header như sau:

Các thông tin trong phần này bạn có thể thay đổi, nhưng lưu ý ở phần Template, ở đó là bạn ghi tên thư mục của theme mẹ để nó hiểu đâu là mẹ của nó, như trong ảnh thì là mình có thư mục wordpresstheme là theme mẹ.

Kế tiếp, bạn chèn thêm đoạn này vào ngay bên dưới */

Tạo Child Theme theo cách mới

Cách tạo child theme mới yêu cầu bạn phải tạo 3 đối tượng, bao gồm:

  • Thư mục chứa child theme, tạo tương tự như cách cũ, nghĩa là tạo thư mục mới cùng tên thư mục theme chính và thêm phần “-child” vào. Giả sử thư mục theme chính là wordpresstheme thì child theme là wordpresstheme-child.
  • Một file style.css, cũng như cách cũ là copy theme header của theme chính rồi thêm vào phần “Template” là tên của thư mục theme chính, nhưng khác cách cũ là bạn không thêm dòng “@import url(…)“.
  • Tạo một file functions.php, sử dụng “wp_enqueue_scripts” hook và hàm “wp_enqueue_style()” để import style của theme chính vào child theme.

File functions.php sẽ trông như thế này:

Tài liệu của WordPress cũng đã update theo cách này.

Enjoy!

Tham khảo: Thachpham, Vuvps

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz