ธีมลูกใน WordPress – ใช้งานอย่างไรและทำไม
เผยแพร่แล้ว: 2016-04-29จุดรวมเบื้องหลัง WordPress คือการให้อำนาจแก่ผู้คนในการสร้าง แก้ไข และปรับแต่งไซต์หรือบล็อกของตนเอง นี่คือสิ่งที่คุณต้องการจ้างนักออกแบบ/นักพัฒนามืออาชีพในทศวรรษที่ผ่านมา
ทุกวันนี้ คุณสามารถดูแลไซต์ของคุณได้ทั้งหมดด้วยตัวเอง และคุณสามารถทำให้ไซต์ดูเป็นอะไรก็ได้ที่คุณต้องการ
แต่ถ้าคุณต้องการให้เหนือกว่าสิ่งที่ WordPress Customizer อนุญาตให้คุณทำ จะทำอย่างไรถ้าคุณต้องการแก้ไขบางอย่างเกี่ยวกับธีม WordPress ปัจจุบันของคุณในแบบที่ปรับแต่งให้เหมาะสมกว่าเล็กน้อย
นั่นคือที่มาของธีมเด็ก
ทำไมต้องใช้ธีมลูก
เริ่มจากอีกด้านหนึ่งของเหรียญ:
ข้อเสียอันดับ 1 หากคุณ *ไม่ใช้* ธีมลูก และดำเนินการแก้ไขใดๆ กับธีมปัจจุบัน (ปกติ) ของคุณแทน นั่นคือการแก้ไขทั้งหมดจะหายไปหากคุณอัปเดตธีม
ตอนนี้ สิ่งที่ฉันหมายถึงโดย การปรับเปลี่ยน :
- การแก้ไขโค้ดด้วยตนเองที่ทำกับไฟล์ PHP ของธีมใดๆ
- การแก้ไขใด ๆ กับ ไฟล์ style.css
- ไฟล์ใหม่ใดๆ ที่คุณอาจใส่ไว้ในไดเร็กทอรีของธีม (ซึ่งรวมถึงไฟล์ PHP, ไฟล์ CSS, แม้แต่กราฟิก, ทุกอย่างตามตัวอักษร) – นี่เป็นปัญหาทั่วไปหากคุณมีเทมเพลตของเพจแบบกำหนดเอง
ดังนั้น เพื่อเน้นย้ำในเรื่องนี้อีกครั้ง สิ่งที่กล่าวมาทั้งหมดจะหายไปทันทีที่คุณอัปเดตธีมของคุณ
แต่ทำไมมันถึงแย่แบบนี้ล่ะ?
ปัญหาอาจไม่รุนแรงนักหากธีมที่คุณใช้ไม่ได้รับการอัปเดตเหมือนเคย อย่างไรก็ตาม ธีม WordPress ที่มีคุณภาพส่วนใหญ่มักจะได้รับการรีเฟรชบ่อยขึ้นเล็กน้อย และนั่นก็ใช้ได้โดยเฉพาะกับธีมเริ่มต้นใน WordPress (เช่น Twenty Fifteen) – พวกมันจะได้รับการอัปเดตทุกครั้งที่มีเวอร์ชันใหม่ของแกน WordPress ออกมา
ในสถานการณ์เช่นนี้ คุณคงไม่อยากพลาดสิ่งใหม่และแพทช์ที่มาพร้อมกับการอัปเดตเหล่านั้น อย่างมีประสิทธิภาพ พวกเขาทำให้เว็บไซต์ของคุณทำงานอย่างถูกต้องกับ WordPress เวอร์ชันใหม่ และยังปรับปรุงความปลอดภัยของสิ่งทั้งหมด (แก้ไขช่องโหว่และจุดบกพร่องด้านความปลอดภัยทั่วไป)
แต่มีมากกว่านั้น การใช้ธีมลูก ยังช่วยเพิ่มมูลค่าในรูปแบบขององค์กรการทำงานที่ดีขึ้นอีกด้วย
นี่คือสิ่งที่ ถ้าคุณพยายามแก้ไขอะไรก็ตามในธีม WordPress ปัจจุบันของคุณ การทำบางสิ่งให้ยุ่งเหยิงนั้นง่ายกว่า ตัวอย่างเช่น คุณสามารถลบโค้ดที่สำคัญบางบรรทัดโดยไม่ได้ตั้งใจ หรือแม้แต่ไฟล์ทั้งหมด เป็นต้น
ด้วยธีมย่อย การปรับเปลี่ยนทั้งหมดจะได้รับการจัดระเบียบที่ดีขึ้นมาก ทุกไฟล์ที่อยู่ในไดเร็กทอรีของธีมลูกจะมีเพียงรหัสของคุณเอง ดังนั้นไม่ต้องสงสัยอีกต่อไปว่า "ฉันแก้ไขไฟล์ X หรือไม่"
วิธีสร้างธีมลูกคนแรกของคุณ
ส่วนนี้ง่ายมากและแทบไม่ต้องมีการเข้ารหัสใดๆ ประการแรก หลักเกณฑ์ทั่วไปบางประการ:
- ทุกธีมสามารถเป็นธีมหลักได้ กล่าวคือ คุณสามารถสร้างธีมลูกสำหรับธีมใดก็ได้ที่คุณมีอยู่แล้ว
- ธีมลูกขึ้นอยู่กับผู้ปกครองในการทำ "สิ่งต่างๆ" ส่วนใหญ่ ในวิธีพื้นฐานที่สุด ธีมลูกว่างจะนำโค้ด การออกแบบ สไตล์ ฯลฯ ทั้งหมดมาจากพาเรนต์โดยตรงโดยไม่เปลี่ยนแปลงอะไรเลย
- ธีมลูกต้องมีผู้ปกครองอยู่จึงจะใช้งานได้ เมื่อคุณลบธีมหลัก ธีมลูกของคุณจะใช้งานไม่ได้อีกต่อไป
- ดังที่กล่าวไว้ก่อนหน้านี้ คุณสามารถอัปเดตธีมหลักและจะไม่สูญเสียการแก้ไขใดๆ ของคุณ
- คุณสามารถเปลี่ยนไปใช้ธีมหลักได้ทุกเมื่อ และย้อนกลับไปยังเวอร์ชันดั้งเดิมของธีมของคุณ
ตอนนี้เข้าสู่วิธีการ ธีมลูกต้องการเพียงไม่กี่อย่างเท่านั้น:
- ไดเร็กทอรีใหม่ภายใน
wp-content/themes
และด้วยชื่อ/กระสุนเฉพาะ ไม่ว่าคุณจะเรียกมันว่าอะไร - ไฟล์สไตล์ชีตภายในไดเร็กทอรีใหม่นั้น –
style.css
, - และไฟล์
functions.php
นี่คือตัวอย่างธีมย่อยที่ฉันสร้างสำหรับธีมเริ่มต้นก่อนหน้าของ WordPress – Twenty Fifteen ฉันเริ่มต้นด้วยการสร้างไดเร็กทอรีชื่อ t15-child
:

ต่อไป ฉันสร้างไฟล์ใหม่สองไฟล์ในไดเร็กทอรีนั้นและเรียกมันว่า style.css
และ functions.php
:
มาแก้ไข style.css
กันก่อน นี่คือของฉัน:
/* Theme Name: T15 child KK Theme URI: http://karol.cc/ Author: Karol K Author URI: http://karol.cc/ Template: twentyfifteen Description: My child of twentyfifteen Version: 1.0.0 License: GNU General Public License v2.0 License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: t15-child */
ไม่มีอะไรแฟนซีเกินไปอย่างที่คุณเห็น สองบรรทัดสำคัญในนั้นได้รับการเน้น:
- ชื่อธีม – ชื่อของธีมลูกใหม่ ตามที่จะปรากฏใน wp-admin ใต้ Appearance / Themes
- เทมเพลต - บรรทัดที่สำคัญที่สุดที่นี่ - ชี้ไปที่ธีมหลักด้วยกระสุน
จากนั้นไปที่ไฟล์ functions.php
สิ่งเดียวที่ฉันมีคือ:
<?php function theme_enqueue_styles() { $parent_; wp_enqueue_style($parent_style, get_template_directory_uri().'/style.css'); wp_enqueue_style('child-style', get_stylesheet_directory_uri().'/style.css', array($parent_style)); } add_action('wp_enqueue_scripts', 'theme_enqueue_styles');
นี่เป็นเพียงฟังก์ชันใหม่ที่เรียบง่าย ดูแลสองสิ่ง:
- มันดึงสไตล์ชีตดั้งเดิมของธีมหลักและ
- มัน "เปิด" ไฟล์ style.css ใหม่ เพื่อให้คุณสามารถดำเนินการแก้ไขเพิ่มเติมกับการออกแบบของธีมในไฟล์นั้นได้
สิ่งสำคัญอื่น ๆ ที่ควรทราบ:
- ตอนนี้คุณสามารถแก้ไข
style.css
ใหม่ของคุณได้อย่างอิสระ ไม่ว่าคุณจะใส่คลาสใหม่อะไรลงไป หรือคลาสเก่าใดก็ตามที่คุณปรับเปลี่ยน จะส่งผลต่อเว็บไซต์ของคุณและรูปลักษณ์ - คุณสามารถเพิ่มไฟล์ PHP อื่นๆ ลงในไดเร็กทอรีของธีมลูกได้ ไฟล์เหล่านั้นอาจเป็นไฟล์ใหม่ทั้งหมด ตัวอย่างเช่น สำหรับเทมเพลตที่กำหนดเองใหม่ หรือสามารถแทนที่ไฟล์มาตรฐานของธีมหลักได้ ตัวอย่างเช่น คุณสามารถสร้างไฟล์ single.php เวอร์ชันใหม่ทั้งหมดเพื่อจัดการกับวิธีแสดงโพสต์บล็อกของคุณ
- ทุกสิ่งที่คุณใส่ในไฟล์
functions.php
ใหม่ของคุณจะถูกดำเนินการเหมือนกับการทำงานของไฟล์ functions.php ดั้งเดิมในธีมหลัก
คุณได้สร้างธีมลูกแล้วหรือยัง?
ในขั้นตอนนี้ งานของคุณเสร็จสิ้น และตอนนี้คุณมีธีมย่อยพื้นฐานที่คุณสามารถใช้เพื่อดำเนินการแก้ไขเพิ่มเติมในเว็บไซต์ของคุณ หรือคุณสามารถใช้ชุดรูปแบบลูกใหม่นี้เพื่อให้แน่ใจว่าการปรับแต่งใด ๆ ที่คุณทำไปแล้วจะคงอยู่ตลอดการอัปเดตในอนาคตของชุดรูปแบบหลัก
คุณทำอะไรที่นี่? คุณวางแผนที่จะใช้ธีมลูกในเว็บไซต์ WordPress หรือบล็อกของคุณหรือไม่?