Tạo child theme WordPress nhanh và chuẩn nhất

Jan 07

Tạo child theme WordPress là một trong 11 việc cần làm sau khi cài đặt WordPress. Bạn hãy tạo child theme trước khi bắt đầu chỉnh sửa giao diện.

Child theme là gì?

Child theme (theme con) là một theme được tạo ra từ theme mẹ (Parent theme). Nó có tất cả đặc điểm của theme mẹ. Ngoài ra bạn có thể tùy biến trên theme con theo ý mình.

Bạn có thể tạo ra child theme cho bất kỳ theme nào mà bạn đang sử dụng.

Tại sao cần tạo child theme WordPress?

Nếu như bạn hay làm 2 việc sau thì bạn nên nghĩ tới việc tạo child theme cho mình:

  1. Chỉnh sửa theme theo ý mình. Ví dụ, đổi màu nền hay đổi màu chữ Heading
  2. Cập nhật WordPress / theme lên phiên bản mới hơn

Vì khi bạn làm cùng lúc 2 việc này thì khi update WordPress, mọi thay đổi mà bạn tạo ra sẽ mất. Nhưng tùy chỉnh trong child theme vẫn còn. Đó chính là lý do mà child theme ra đời.

Child theme hoạt động ra sao?

Những thay đổi trong child theme sẽ ghi đè lên theme mẹ. Khi người dùng thực thi một lệnh nào đó trên website của bạn, WordPress sẽ lấy thông tin đó ra hiển thị.

Đầu tiên, nó sẽ chạy vào child theme xem có gì để lấy không? Nếu có, nó sẽ lấy thông tin đó và ghi đè lên theme mẹ. Nếu không thì là nó sẽ lấy ở theme mẹ như bình thường.

Thường thì child theme sẽ có 2 file chính mà chúng ta hay tùy biến:

  • style.css
  • functions.php

Bạn có thể thêm bất kỳ file nào khác mà bạn muốn. Chỉ cần copy file đó bên theme mẹ qua child theme.

Cách tạo child theme WordPress phổ biến nhất

Tạo child theme bằng tay

Mình thấy một số bạn tạo child theme ngay trên hosting. Cách này nên dành cho các bạn đã có chút kinh nghiệm. Nếu bạn chưa quen với cách làm trên File Manager của cPanel thì có thể làm như sau.

Trên máy tính của bạn, tạo 1 folder mới giống tên theme mà bạn đang sử dụng, sau đó thêm -child vào sau.

Ví dụ mình đang dùng theme Poseidon thì mình sẽ tạo folder cho child theme tên là poseidon-child.

Vào trong folder child theme mà bạn vừa tạo. Tất nhiên là chẳng có gì trong đó cả. Mở Notepad lên (hoặc đại loại thế), tạo 1 file mới đặt tên là style.css. Copy đoạn mã sau và dán vào đó rồi lưu lại.

/* 
Theme Name: poseidon-child
Theme URI: https://mosmmo.com
Description: poseidon-child is a child theme of Poseidon, created by tickxanh.com
Author: Stanley Dang
Author URI: https://mosmmo.com/
Template: poseidon
Version: 1.0.0
Text Domain: poseidon-child
*/

/*
Add your custom styles here
*/

Bạn có thể đổi mấy thông tin này theo ý mình. Tuy nhiên, dòng Template là phải chính xác tên theme mẹ. Nếu không thì child theme sẽ không biết ai là mẹ nó cả.

Vậy là xong một tên. Bước tiếp theo là tạo file functions.php. Tương tự như trên, bạn copy đoạn mã sau và dán vào đó rồi lưu lại.

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

Ô kê vậy là trong folder child theme đã có 1 cặp file rất đẹp. Việc của bạn bây giờ là nén folder này lại. Vào trang quản trị > Appearance > Themes > Add New > chọn file nén mà bạn vừa tạo > Upload lên như bình thường > Active để kích hoạt.

Sau này bạn muốn chỉnh sửa file nào ở theme mẹ thì cứ tạo file đó ở child theme mà làm. Lưu ý là file đó phải chính xác đường dẫn như ở file trong theme mẹ. Tất nhiên là từ đây trở đi bạn phải làm trên cPanel.

Cách tạo child theme trên đây có thể áp dụng cho bất kỳ theme nào. Tuy nhiên, vẫn còn cách sau đây vô cùng nhanh chóng.

Tạo child theme bằng công cụ online

Bạn vào trang https://childtheme-generator.com > click vào:

Creat a WordPress Child Theme now

Điền thông tin mà bạn cần. Khi gõ tên theme mẹ, nó sẽ tự động gợi ý cho bạn chọn

Tạo child theme WordPress

Chờ một chút, sau đó nhấn Download your child theme now để tải về máy.

Upload child theme và Active như ở trên.

Lưu ý: Không được xóa theme mẹ dù đã kích hoạt child theme

Cũng còn vài cách nữa để tạo child theme WordPress nhưng mình không nhắc tới. Ví dụ như tạo child theme bằng plugin. Bạn nên hạn chế sử dụng plugin càng ít càng tốt.

Như vậy là mình vừa tạo child theme WordPress rất nhanh chóng và đơn giản. Các bạn có thể để lại bình luận ở dưới. Chúc các bạn thành công!

Đặng Đình Quân

Hé lô mọi người! Mình tên là Quân, kẻ đứng sau blog này. Mình là người khá hài hước và ham học hỏi. Mình viết blog này để ghi chép những gì đã học được và mong có thể  giúp được ai đó!

Bình luận

avatar
  Đăng ký  
Thông báo cho tôi khi
Share This