Child Theme cho Wordpress

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:

/*
Theme Name: Wordpress Child Theme
Theme URI: http: //thanhnt.com
Description: Day la child theme cua Wordpresstheme
Author: Trung Thanh
Author URI: http://thanhnt.com
Template: wordpresstheme
Version: 0.1
*/

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 dấu “*/

@import url("../wordpresstheme/style.css");

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:

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

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>

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

Enjoy!

Tham khảo: Thachpham, Vuvps