วิธีสร้าง Child Theme แบบง่าย ๆ เพื่อแก้ไข WordPress แบบถูกวิธี

แก้เว็บไซต์ WordPress ยังไงไม่ให้พัง ไปดูกันได้เลย!

Child Theme หรือ ธีมลูก เป็นธีมที่ใช้งานเสริมจากธีมหลักที่เปิดใช้งานในเว็บ WordPress เหมาะกับการใช้ปรับแต่ง แก้ไข เพิ่มเติมหรือ Override ส่วนที่เป็นโค้ดในตัวธีมหรือปลั๊กอิน ส่วนใหญ่จะใช้งานเมื่อส่วนที่ใช้ปรับแต่งที่ตัวธีมมีมาให้ไม่เพียงพอต่อการใช้งาน หรือไม่อยากโหลดปลั๊กอินมาให้หนักเว็บไซต์

เนื่องจากในระบบ WordPress เมื่อธีม หรือปลั๊กอินมีการอัพเดทใหม่ ไฟล์ทั้งหมดจะถูกทับด้วยเวอร์ชั่นใหม่ทั้งหมด โดยหากมีการแก้ไขโค้ดในธีมหรือปลั๊กอินไปแล้ว เมื่ออัพเดทแล้วจะหายไปทั้งหมด Child Theme จึงเป็นประโยชน์อย่างมากหากคุณต้องการเพิ่มเติม/แก้ไขฟังค์ชั่นจากธีมหรือปลั๊กอินของ WordPress


Child Theme ทำงานอย่างไร

  • Child theme จะต้องมี Theme หลักเปิดใช้งานอยู่ เพื่อให้มันทำงานได้ครับ (เนื่องจากตัวของ Child Theme จะไฟล์ของ Theme หลักมาทำงานเป็นหลัก)
  • ในระบบ WordPress เมื่อมีการโหลดธีมมาแสดงผลหรือโหลดฟังค์ชั่นมาทำงาน ระบบจะเช็คจาก Child Theme ก่อน ถ้ามีไฟล์ใน Child Theme ไฟล์ใด ระบบจะโหลดมาใช้แทนที่ไฟล์ที่ไฟล์หลักของ WordPress (ยกเว้นบางไฟล์ที่จะทำงานร่วมหรือเสริมจากไฟล์หลัก เช่น style.css / functions.php) เป็นต้น

ถ้าคุณซื้อธีมจาก Themeforest…

ลองเช็คให้ดีว่าตอนดาวน์โหลดไฟล์ มี Child Theme มาหรือไม่ หากมี สามารถอัพโหลดและเปิดใช้งาน Child Theme ตัวนั้นได้เลยครับ ไม่ต้องทำให้ยุ่งยาก

ไฟล์ธีม Flatsome
ไฟล์ธีม Flatsome

หากคุณใช้ Hello Theme (Elementor)

Elementor ทำให้เรียบร้อยครับ สามารถไปดาวน์โหลดได้เลยที่ https://github.com/elementor/hello-theme-child


วิธีสร้าง Child Theme แบบง่าย ๆ

1. เลือกธีมที่ต้องการสร้าง Child Theme และสร้างโฟลเดอร์และไฟล์

เข้าไปยังตัวจัดการไฟล์ (อาจเข้าผ่าน Control Panel ของโฮสติ้ง หรือ FTP ก็ได้)

ในโฟลเดอร์ที่ติดตั้ง WordPress ให้ไปยัง /wp-content/themes/ และตั้งชื่อโฟลเดอร์เป็นชื่ออะไรก็ได้ ยกตัวอย่างเช่นในกรณีนี้ ผมต้องการสร้าง Child Theme ของธีมหลักชื่อ twentytwentyfour

ผมสามารถสร้างโฟลเดอร์ชื่อ twentytwentyfour-child แบบนี้ก็ได้ครับ หรือจะตั้งเป็นแบบอื่นก็ได้

วิธีสร้าง Child Theme แบบง่าย ๆ เพื่อแก้ไข WordPress แบบถูกวิธี

2. เข้าไปยังโฟลเดอร์ที่สร้างแล้ว และสร้างไฟล์ style.css และ functions.php

2 ไฟล์นี้สำคัญมากครับ ไฟล์นึงเป็นไฟล์เชื่อมและทำฟังค์ชั่นต่าง ๆ (functions.php) และไฟล์หนึ่งเป็นไฟล์ CSS หลัก (style.css)

หากคุณใช้ Filezilla สามารถคลิกขวาและสร้างไฟล์ได้เลย

วิธีสร้าง Child Theme แบบง่าย ๆ เพื่อแก้ไข WordPress แบบถูกวิธี
คลิกขวา และ Create new file เพื่อสร้างไฟล์ใหม่

วิธีสร้าง Child Theme แบบง่าย ๆ เพื่อแก้ไข WordPress แบบถูกวิธี
สร้างไฟล์ functions.php และ style.css

หลักจากได้ทั้ง 2 ไฟล์นี้แล้ว สามารถทำต่อได้เลยครับโดยการแก้ไขไฟล์ 2 ไฟล์นี้

3. ใส่เนื้อหาทั้ง 2 ไฟล์

หากคุณใช้ Filezilla สามารถคลิกขวาและคลิกที่ View/Edit

วิธีสร้าง Child Theme แบบง่าย ๆ เพื่อแก้ไข WordPress แบบถูกวิธี

ไฟล์ functions.php

ใส่โค้ดด้านล่าง เพื่อ Enqueue เพื่อให้ Wordpress จัดการโหลดไฟล์ให้ถูกวิธี (สำหรับมือใหม่ถ้างง ก็อบวางแล้วเซฟได้เลยครับ)

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

ไฟล์ style.css

ใส่โค้ดต่อไปนี้ลงไปครับ โดยจะมีบางข้อนิดดดนึงครับที่ต้องแก้ด้วยตัวเอง

/*
 Theme Name:   [ชื่อธีม]
 Theme URI:    [URL สำหรับดาวน์โหลดธีม (คิดไม่ออกก็ใส่ URL ชื่อเว็บได้เลยครับ)]
 Description:  [คำอธิบายธีม]
 Author:       [ชื่อผู้พัฒนาธีม]
 Author URI:   [URL เว็บผู้พัฒนาธีม]
 Template:     [ชื่อโฟลเดอร์ของธีมแม่] 
 Version:      [เวอร์ชั่น]
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         [แท็ก คั่นด้วย , ไม่มีผลกับการใช้งานครับ]
 Text Domain:  [ชื่อโฟลเดอร์ของธีมลูกที่สร้างในขั้นตอนที่ 1.]
*/

ตัวอย่างของผม

/*
 Theme Name:   Make2Web
 Theme URI:    https://make2web.com/
 Description:  Custom made theme for this website
 Author:       Da
 Author URI:   https://i.am.da.in.th/
 Template:     twentytwentyfour
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         custom, responsive
 Text Domain:  twentytwentyfour-child
*/

ทั้งหมดแล้วเซฟได้เลย แค่นั้นแหละครับเสร็จแล้ว

หลังจากนั้น สามารถเข้าไปยังระบบหลังบ้าน และเปิดใช้งาน Theme ที่สร้างมาใหมได้เลยครับ


การใช้งานจริง

หากว่าต้องการเพิ่ม functions เข้าเว็บไซต์ เพิ่ม CSS หรือแก้ไขฟังค์ชั่นจากไฟล์ในโฟลเดอร์ของปลั๊กอิน สามารถใช้ Child theme เป็นฐานในการทำได้เลยครับ โดย Guide ต่าง ๆ ในเว็บไซต์ จากหมวดหมู่ โม Plugin / Theme / แก้ไข WordPress ของเรา จะเน้นการแก้ไขจาก Child theme เป็นหลัก เพื่อลดการลง plugin จำนวนมากเพื่อใช้ฟังค์ชั่นเล็ก ๆ ครับ

👋รับแก้ปัญหาเว็บไซต์ WordPress

ให้เราช่วยแก้
ปัญหาเว็บไซต์
WordPress
ได้นะครับ

Line: @make2web อ่านรายละเอียด

👋จ้างทำเว็บไซต์ ที่ไหนดี?

Make2Web
รับทำเว็บไซต์
ปรับปรุงเว็บไซต์
สอบถามได้นะครับ

Line: @make2web อ่านรายละเอียด

บทความแนะนำ

อยากได้เว็บไซต์คุณภาพดี สวยงาม ทันสมัย โดดเด่นและมีเอกลักษณ์ มองหาผู้ให้บริการรับทำเว็บไซต์ รับทำเว็บบริษัท เว็บองค์กร รับออกแบบเว็บไซต์ ฝีมือดี Make2Web เรายินดีให้บริการ มั่นใจในประสบการณ์มากกว่า 8 ปี ยินดีให้คำปรึกษา ฟรี ตลอดระยะเวลาที่ผ่านมาเราให้บริการลูกค้ามาแล้วกว่า 1,000 ราย มีผลงานมาแล้วมากมาย สร้างความประทับใจให้กับลูกค้าทุกคน การันตีคุณจะได้เว็บไซต์ดีๆ กลับไปต่อยอดธุรกิจแน่นอน