
Trước nay mình đã từng tìm hiểu Child Themes là gì và dùng Child Themes để làm gì trong một thời gian dài, nhưng vẫn chưa có kết quả. Ngày hôm nay mình đã tìm được câu trả lời cho mình và mình cũng muốn chia sẻ nó cho các bạn đang tìm hiểu nó. Đồng thời mình viết bài này để ghi nhớ, khi cần thiết mình sẽ có cái để ngâm cứu lại :D. Kiến thức mình chia sẻ ở bài viết này có thể hiểu là kiến thức wordpress cơ bản, nếu bạn cần tìm hiểu về Child Themes sâu hơn thì bạn có thể đọc bài viết này tại website của wordpress.
Child Themes là gì?

1: Thư mục theme gốc (theme cha)
2: Thư mục child theme
Child theme trong wordpress là theme được kế thừa các chức năng và các thuộc tính của một theme khác và theme khác đó được gọi là theme cha. Child theme cho phép bạn chỉnh sửa hoặc thêm một chức năng nào đó vào theme cha.
Tại sao phải dùng Child Themes?
Nếu bạn chỉnh sửa một theme theo cách thông thường thì khi theme đó được cập nhật, tất cả những chỉnh sửa của bạn sẽ bị mất hết. Chính vì thế bạn cần phải sử dụng một child theme, bạn viết code chỉnh sửa vào child theme và khi theme cha được cập nhật thì những gì bạn đã chỉnh sửa trước đó sẽ không ảnh hưởng gì.
Tạo Child Themes đơn giản
Bước 1: Tạo một thư mục bên trong thư mục chứa theme (mặc định là wp-content/themes) và sẽ sử dụng thư mục này để làm child theme. Bạn đặt tên nó theo ý của bạn. Để khi chỉnh sửa bạn nên đặt tên thư mực với “-child” ở cuối, để biết đây là child theme của theme nào.
Nhìn vào hình ảnh của tôi, bạn sẽ thấy tôi có theme “hueman-child”. Vâng, nó chính là child theme của theme gốc hueman.
Bước 2: Trong thư mục của child theme, bạn tạo một file css với tên style.css. Nội dung file style.css bạn viết theo cấu trúc bên dưới.
/*
Theme Name: Hueman Child
Theme URI: https://thanhthai.org
Description: Theme con của Hueman
Author: Thái Dương
Author URI: https://thanhthai.org
Template: hueman
Version: 1.0.0
*/
@import url("../hueman/style.css");
/* Bạn viết code css vào bên dưới dòng này
-------------------------------------------------------------- */
Bạn cần chú :
Dòng số 7: Là tên của thư mục theme gốc. Ở ví dụ trên, thư mục theme gốc là hueman.
Dòng số 10 là đường dẫn đến file style.css của theme cha.
Bạn phải viết code css cho website của bạn dưới dòng @import url(“../hueman/style.css”); , nếu viết bên trên thì website của bạn không còn mang tính kế thừa của theme gốc nữa.
Child Theme hoạt động như thế nào?
Bạn active child theme theo cách active theme thông thường: Đăng nhập Administration Panels > Appearance > Themes. Bạn sẽ nhìn thấy child theme vừa tạo. Bấm Activate.

Sau khi child theme được active thì nó sẽ gọi và sử dụng các file trong thư mục child theme (nhìn ví dụ trên thì nó sẽ gọi file stye.css trong thư mục hueman-child để sử dụng) Trong quá trình sử dụng, nó nếu trong thư mục child theme không có các file cần thiết (ví dụ như funcitons.php, thư mục images) thì hệ thống wordpress sẽ tự động sử dụng bên thư mục theme gốc (là thư mục hueman). Nói tóm lại là wordpress theme sẽ ưu tiên child theme trước, nếu trong child theme thiếu cái gì thì nó sẽ sử dụng bên theme gốc.
Lưu ý
- Không được xóa hay đổi tên thư mục theme gốc (theme cha)
- Muốn tùy chỉnh file nào bạn chỉ cần copy từ bên theme gốc sang thư mục child theme.
- Khi viết css phải luôn viết dưới dòng @import
Tạo child theme bằng plugin
- http://wordpress.org/plugins/child-themify/
- http://wordpress.org/plugins/orbisius-child-theme-creator/
Bạn có biết tích hợp wordpress vào website asp.net ko, bên mình đáng loay hoay vụ này mãi mà chưa biết làm sao
Mình vẫn băn khoăn về tính bảo mật của child themes
Chia sẻ của bạn hay quá. Tks nhiều nhé
cho mình hỏi cod để click là nó copy coupon và hiện popup cho mình copy nhỉ hàm prompt() có làm đc ko
Đây là code nút button của mình. Kết hợp plugin my shortcodes
Chào bạn có thể huớng dẫn mình làm menu mobile như của bạn không, nó rất đẹp cảm ơn bạn truớc nha
thank tác giả đã chia sẻ. mình cũng đang nghiên cứu làm cái Framework cho riêng mình chứ mỗi lần thiết kế lại web kiểu này vất vả quả 🙂
Hay lắm bác. Mình chưa từng làm child theme. Sử dụng thì từng dùng qua. Từ lúc dùng WordPress đến giờ mình dùng Framework Hybrid, mình toàn phát triển từ Base theme lên.
Mình xin bổ sung một tí lưu ý, theme ban đầu phải cung cấp các hook thì child theme mới dễ dàng tùy biến. Tùy theme mới có thể làm child theme được. Không thì làm child theme rất khó khăn.
Thank nhé . bài viết rất hay ^^
Vừa ngó qua site bạn, ghê gớm. Hết băng thông mới kinh :). Site 18+ à 😀
Cảm ơn bạn nhiều ^^
Hỏi thêm cái nữa, làm sao để tạo ra button nhấn vào là hiện ra coupon như bạn vậy 😀
Đơn giản lắm, sử dụng code html 😀
Cho xin code bạn 😀
Biết cách bỏ cái tìm kiếm trên top menu ko bạn
Có thể trong options của theme sẽ có, nhưng mình chưa xem qua :D.
Cách đơn giản nhất là bạn mở file header.php ra, xóa từ dòng 27 đến dòng 36 là xong :D.
Cảm ơn, dc rồi bạn
Cho hỏi làm form đăng ký nhận bản tin qua email trong theme hueman như bạn làm sao nhỉ?
Bạn sử dụng dịch vụ feedburner.google.com của google nhé 🙂
Ý mình là tạo cái skin viền xanh xanh với cái nút subcride như bạn ấy
Dùng code luôn 🙂 Code đây nhé.
<form onsubmit=”window.open(‘http://feedburner.google.com/fb/a/mailverify?uri=Thaidt’, ‘popupwindow’, ‘scrollbars=yes,width=550,height=520’);return true” target=”popupwindow” method=”post” action=”http://feedburner.google.com/fb/a/mailverify” id=”femail”><p>Enter your email address:</p><p><input type=”text” name=”email” id=”nhapemail”></p><input type=”hidden” name=”uri” value=”Thaidt”><input type=”hidden” value=”en_US” name=”loc”><input type=”submit” value=”Subscribe” id=”xacnhan”></form>
ĐÂy là CSS.
form#femail {
background: none repeat scroll 0 0 #357212;
color: #ffffff;
font-weight: bold;
padding: 10px;
text-align: center;
}
Thay id bằng id fedd của bạn nhé
Mình lấy cái trên bỏ vào thì nó bị ra mấy khung nhập chứ ko ra như bạn, còn cái css để làm gì thế
Bạn bỏ nó vào đâu?
CSS để trang trí cho cái khung nhập đó :D. Nhờ nó mà bạn mới có đc cái giao diện màu xanh giống của mình
Mình bỏ nó vào text widget ấy, cái css bạn bỏ ở đâu
CSS bạn bỏ vào file style.css nhé.
Cảm ơn bạn, ok rùi 😀
sau khi tạo child theme thành công thì file style.css ở thư mục gốc hoạt động, giờ muốn ghi đè các file *.css ở trong thư mục childthem/css/ thì làm sao ạ.
Vậy nghĩa là trong file style.css của child theme bạn ko tùy chỉnh gì sao? Nếu vậy thì ko cần tạo child theme :p.
Như mình đã nói ở trên, trong thư mục child theme có những file nào thì nó sẽ được ưu tiên sử dụng trong child theme trước, thiếu file nào thì nó sẽ lấy bên theme gốc (theme cha) để dùng. Ý bạn là ko muốn các file child-theme/*.css hoạt động, vậy thì bạn chỉ cần không copy các file *.css bên thư mục theme gốc sang là đc.