วิธีค้นหา เข้าถึง และแก้ไข functions.php ใน WordPress

เผยแพร่แล้ว: 2022-08-23

หากคุณเพิ่งเริ่มต้นพัฒนา WordPress หนึ่งในไฟล์ที่สำคัญที่สุดที่คุณควรทำความคุ้นเคยคือไฟล์ functions.php จริงๆ แล้วมีไฟล์ functions.php ที่เป็นไปได้สามไฟล์ที่คุณอาจใช้บนเว็บไซต์ WordPress ของคุณ และไฟล์แต่ละไฟล์ก็มีบทบาทที่แตกต่างกัน การรู้ว่าไฟล์เหล่านี้อยู่ที่ไหน จุดประสงค์ของไฟล์เหล่านี้คืออะไร และจะแก้ไขอย่างไรและเมื่อใด จะช่วยคุณในการแก้ไขปัญหาและช่วยให้คุณควบคุมฟังก์ชันการทำงานของเว็บไซต์ได้มากขึ้น

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

คุณสามารถเริ่มต้นที่จุดเริ่มต้นและอ่านหรือข้ามไปยังส่วนที่ต้องการโดยใช้สารบัญด้านล่าง:

  • functions.php ใน WordPress คืออะไร?
  • ไฟล์ functions.php อยู่ที่ไหน?
  • วิธีเข้าถึง functions.php
    • การเข้าถึง functions.php ในส่วนต่อประสานผู้ดูแลระบบ WordPress ของคุณ
    • การเข้าถึง functions.php ผ่าน FTP
    • การเข้าถึง functions.php ใน cPanel ของคุณ
  • ฉันควรแก้ไข functions.php ใน WordPress เมื่อใด
  • วิธีแก้ไข functions.php ใน WordPress
    • การแก้ไข functions.php ในตัวแก้ไขไฟล์ธีม WordPress ของคุณ
    • การแก้ไข functions.php ด้วยโปรแกรมแก้ไขข้อความ
    • การแก้ไข functions.php โดยตรงใน cPanel
  • การใช้ปลั๊กอินเพื่อเพิ่มฟังก์ชันให้กับไซต์ WordPress ของคุณ
  • วิธีป้องกัน functions.php จากช่องโหว่ด้านความปลอดภัย
  • ฉันสามารถเพิ่มโค้ดใดใน functions.php ใน WordPress ได้บ้าง
  • คำถามที่พบบ่อย
    • ฉันจำเป็นต้องสร้างธีมลูกเพื่อแก้ไข functions.php หรือไม่
    • ฉันจะกู้คืน functions.php จากข้อมูลสำรองได้อย่างไรหากฉันไม่สามารถเข้าถึงแดชบอร์ด WordPress ของฉันได้
    • ฉันสามารถเพิ่ม JavaScript ลงในไฟล์ functions.php ของฉันได้หรือไม่

functions.php ใน WordPress คืออะไร?

ใน WordPress ไฟล์ functions.php เป็นที่ที่โค้ดสำคัญอาศัยอยู่ ซึ่งกำหนดวิธีการทำงานของไซต์ของคุณ จริงๆ แล้วมีไฟล์ functions.php อย่างน้อยสองไฟล์ในเว็บไซต์ WordPress ทุกแห่ง — ไฟล์หนึ่งรวมอยู่ใน WordPress core และอีกไฟล์หนึ่งรวมอยู่ในธีมของคุณ หากคุณกำลังใช้ธีมลูก คุณควรมี functions.php ในโฟลเดอร์ธีมลูกของคุณด้วย

ไฟล์ functions.php ในแกนหลักของ WordPress มีโค้ดสำคัญที่จำเป็นสำหรับ WordPress ในการทำงาน คุณแทบจะไม่ต้องแก้ไขโค้ดในไฟล์ functions.php ของ WordPress core

ไฟล์ functions.php ของธีมของคุณเป็นที่ที่คุณลักษณะเฉพาะของธีมทั้งหมดของเว็บไซต์ของคุณใช้งานได้ เช่น ตำแหน่งเมนูที่กำหนดเอง พื้นที่วิดเจ็ต เนื้อหาส่วนหัวและส่วนท้ายที่กำหนดเองและการทำงาน ความยาวโพสต์ข้อความที่ตัดตอนมา และอื่นๆ

ไฟล์ functions.php ของธีมของคุณทำงานในลักษณะเดียวกับปลั๊กอิน WordPress ความแตกต่างคือ ควรใช้ functions.php สำหรับโค้ดเฉพาะธีม ในขณะที่ปลั๊กอินควรใช้สำหรับฟังก์ชันที่จะยังคงอยู่แม้ว่าคุณจะเปลี่ยนธีม

ไฟล์ functions.php อยู่ที่ไหน?

เราได้พูดถึงสิ่งที่ไฟล์ functions.php ใช้ใน WordPress core และในไฟล์ธีม แต่คุณจะหาไฟล์ functions.php ได้อย่างไร? functions.php ใน WordPress อยู่ที่ไหน

ไฟล์ WordPress ทั้งหมดของคุณอยู่ในไดเร็กทอรีรากของไซต์และในโฟลเดอร์ย่อยต่างๆ ไดเร็กทอรีรากของคุณมักจะมีชื่อบางอย่างเช่น public_html หรือ www แต่อาจมีชื่ออื่น หากคุณไม่แน่ใจว่าจะหาโฟลเดอร์การติดตั้ง WordPress ได้จากที่ใดบนเซิร์ฟเวอร์ โปรดติดต่อโฮสต์เว็บของคุณ

เมื่อคุณพบแล้วว่าไฟล์ WordPress ของคุณอยู่ที่ใดบนเซิร์ฟเวอร์ของคุณ คุณสามารถเริ่มค้นหาไฟล์ functions.php ของคุณได้ เราได้กล่าวถึงว่ามีตำแหน่งมากถึงสามแห่งสำหรับ functions.php : WordPress core, โฟลเดอร์ธีมของคุณ และโฟลเดอร์ธีมย่อยของคุณ ในส่วนนี้เราจะไปที่ตำแหน่งที่จะค้นหาแต่ละรายการ

functions.php ในแกนหลักของ WordPress อยู่ที่ไหน

หากคุณกำลังมองหาตำแหน่งของ functions.php ใน WordPress core คุณจะพบมันในโฟลเดอร์ wp-includes ของการติดตั้ง WordPress ของคุณ

ค้นหาไฟล์ functions.php ใน wp-includes

แม้ว่าคุณจะไม่ควรแก้ไข functions.php ในแกนหลักของ WordPress แต่คุณอาจต้องตรวจสอบด้วยเหตุผลใดก็ตาม สถานการณ์ที่น่าจะเป็นไปได้มากที่สุดสำหรับการล้อเล่นใน functions.php ในแกนหลักของ WordPress คือถ้าคุณสงสัยว่ามีมัลแวร์ฉีดเข้าไป

ก่อนที่คุณจะเปิด functions.php คุณควรสำรองข้อมูลไซต์ WordPress ของคุณในกรณีที่คุณทำการเปลี่ยนแปลงไฟล์โดยไม่ได้ตั้งใจซึ่งทำให้เกิดข้อผิดพลาดร้ายแรง หากคุณพบว่า functions.php เสียหายหรือถูกแฮ็ก คุณอาจมีพื้นที่อื่นๆ ของ WordPress ที่ได้รับผลกระทบ สิ่งที่ดีที่สุดที่ควรทำคือเพียงแค่แทนที่ WordPress ด้วยการติดตั้งใหม่ แทนที่จะพยายามลบสคริปต์ที่ไม่เหมาะสมทั้งหมดออกทีละตัว

functions.php ในโฟลเดอร์ธีม WordPress ของฉันอยู่ที่ไหน

ไฟล์ functions.php ของธีมของคุณอยู่ในไดเร็กทอรีหลักของโฟลเดอร์ธีมของคุณ: wp-contentthemes → yourtheme

ค้นหาไฟล์ functions.php ในโฟลเดอร์ธีม

functions.php อยู่ในโฟลเดอร์ธีมลูกของ WordPress อยู่ที่ไหน

ไฟล์ WordPress ธีมลูก functions.php อยู่ในไดเร็กทอรีหลักของโฟลเดอร์ธีมลูกของคุณ: wp-content → themes → yourtheme-child

ค้นหาไฟล์ functions.php ของธีมลูก

ฉันจะเข้าถึง functions.php ได้อย่างไร

รู้ว่า functions.php อยู่ที่ไหน เป็นเพียงครึ่งเดียวของงาน มาถึงคำถามเกี่ยวกับวิธีการเข้าถึง functions.php ใน WordPress แม้ว่าไฟล์ functions.php ในแกน WordPress จะสามารถเข้าถึงได้ผ่านโปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย (SFTP) หรือผ่าน cPanel เท่านั้น ไฟล์ธีมและธีมย่อยของคุณ functions.php สามารถเข้าถึงได้ใน WordPress Theme File Editor

การเข้าถึง functions.php ใน WordPress Theme File Editor

หากคุณต้องการเข้าถึงไฟล์ functions.php ของธีมหรือธีมลูก คุณสามารถทำได้โดยตรงจากตัวแก้ไขไฟล์ธีมของ WordPress ในแดชบอร์ด WordPress ให้ไปที่ Appearance → Theme File Editor

คุณจะถูกนำไปที่หน้า แก้ไขธีม จากที่นี่ ภายใต้เมนูดร็อปดาวน์ถัดจาก เลือกธีมที่จะแก้ไข ให้เลือกธีมของคุณ แล้วคลิก เลือก คุณจะเห็นรายการไฟล์ที่สามารถแก้ไขได้ในคอลัมน์ ไฟล์ธีม ที่ด้านขวาสุดของหน้าจอ คลิก functions.php เพื่อเปิดไฟล์

ค้นหาไฟล์ functions.php

หากคุณอยู่ในไฟล์ functions.php ของธีมหลัก คุณจะเห็นคำเตือนที่ด้านล่างของหน้าจอเหนือปุ่ม อัปเดตไฟล์ ที่ระบุว่า "ข้อควรระวัง: นี่คือไฟล์ในธีมหลักปัจจุบันของคุณ"

หมายเหตุ: หากคุณไม่ใช่ผู้พัฒนาธีม คุณควรทำการเปลี่ยนแปลงในไฟล์ functions.php ของธีมลูกของคุณ เพื่อหลีกเลี่ยงไม่ให้การแก้ไขของคุณถูกเขียนทับในการอัปเดตธีมในอนาคต

การเข้าถึง functions.php ผ่าน SFTP

ขั้นตอนที่ 1: ติดตั้งไคลเอนต์ SFTP ของคุณ หากคุณยังไม่มีไคลเอ็นต์ SFTP คุณจะต้องดาวน์โหลด มีตัวเลือกฟรีและพรีเมียมที่ยอดเยี่ยมมากมาย รวมถึง:

แอปพลิเคชัน ระบบ ฟรีหรือพรีเมียม
WinSCP Windows ฟรี
Filezilla Windows, Mac, Linux ตัวเลือกฟรีและพรีเมียม
ไซเบอร์ดัค Windows, Mac ฟรี
ส่ง Mac พรีเมี่ยม

ในตัวอย่างนี้ เราจะใช้ Filezilla ไคลเอ็นต์ SFTP อื่นๆ ควรทำงานในลักษณะเดียวกัน

ขั้นตอนที่ 2: ดึงข้อมูลประจำตัว SFTP ของคุณ ในการเข้าสู่ระบบเซิร์ฟเวอร์ของคุณผ่าน SFTP คุณจะต้องมีรายละเอียดดังต่อไปนี้:

  • โฮสต์ (ที่อยู่ IP หรือ URL ของเซิร์ฟเวอร์ของคุณ)
  • ชื่อผู้ใช้ SFTP
  • รหัสผ่าน
  • หมายเลขพอร์ต

รายละเอียดเหล่านี้มักจะพบได้ในแผงควบคุมการโฮสต์ของคุณ ข้อมูลนี้อาจถูกสร้างขึ้นสำหรับคุณหรือโฮสต์ของคุณอาจแจ้งให้คุณสร้างชื่อผู้ใช้และรหัสผ่าน SFTP หากคุณไม่ทราบว่าจะค้นหาข้อมูลรับรองเหล่านี้ได้จากที่ใด หรือมีปัญหาในการหาวิธีสร้าง ให้ค้นหาคำแนะนำในเอกสารวิธีใช้ของโฮสต์หรือติดต่อทีมสนับสนุนของพวกเขา

ขั้นตอนที่ 3: ป้อนข้อมูลรับรอง SFTP ของคุณ

ป้อนที่อยู่ IP หรือ url ของโฮสต์ ชื่อผู้ใช้ รหัสผ่าน SFTP และหมายเลขพอร์ต (ปกติคือ 22 หรือ 2222 แต่บางโฮสต์อาจใช้พอร์ตอื่น)

ป้อนข้อมูลประจำตัว sftp ใน Filezilla

หมายเหตุ: คุณอาจได้รับการแจ้งเตือน 'โฮสต์คีย์ที่ไม่รู้จัก' หากไคลเอนต์ SFTP ของคุณใช้การตรวจสอบสิทธิ์การใช้งานครั้งแรก (TOFU) ที่เชื่อถือได้ ทำเครื่องหมายที่ 'เชื่อถือโฮสต์นี้เสมอ เพิ่มคีย์นี้ในแคช' หากคุณวางแผนที่จะใช้ไคลเอ็นต์ SFTP เพื่อเข้าถึงไซต์อีกครั้ง คลิก ตกลง เพื่อดำเนินการต่อ

ข้อความคีย์โฮสต์ที่ไม่รู้จักใน filezilla

ขั้นตอนที่ 4: ไปที่ไดเรกทอรีรากของเว็บไซต์ของคุณ

เมื่อคุณเข้าสู่ระบบแล้ว คุณจะเห็นแผนผังไฟล์สองรายการแสดงอยู่ที่ปุ่มของหน้าจอของคุณ ไฟล์หนึ่งอยู่ทางซ้ายและอีกอันอยู่ทางขวา ด้านขวาแสดงรายการไดเร็กทอรีบนเว็บเซิร์ฟเวอร์ของคุณ (ระยะไกล) ด้านซ้ายแสดงรายการไดเร็กทอรีบนคอมพิวเตอร์ของคุณ (ในเครื่อง)

ไดเร็กทอรีรากของคุณมักจะอยู่ในโฟลเดอร์ชื่อ www หรือ public_html แต่อาจใช้ชื่ออื่น หากคุณไม่แน่ใจว่าจะค้นหาโฟลเดอร์ใด ให้สอบถามผู้ให้บริการโฮสติ้งของคุณ คุณจะรู้ว่าคุณอยู่ในโฟลเดอร์ที่ถูกต้อง หากคุณเห็นโฟลเดอร์ wp-admin , wp-content และ wp-includes ใกล้กับด้านบนสุดของรายการไฟล์ของคุณ

ค้นหาโฟลเดอร์ public_html ใน Filezilla

ขั้นตอนที่ 5: ไปที่ functions.php ในแกนหลักของ WordPress, ธีมหลักของคุณ หรือธีมย่อย หากคุณกำลังมองหา functions.php ใน WordPress core คุณจะไปที่โฟลเดอร์ wp-includes

หากคุณกำลังมองหา functions.php ในไดเร็กทอรีธีมของคุณ คุณจะไปที่ wp-contentthemesyourtheme

หากต้องการค้นหาไฟล์ functions.php ของธีมลูกของคุณ ให้ไปที่ wp-content → themes → yourtheme-child

ขั้นตอน ที่ 6: ดาวน์โหลด functions.php เมื่อคุณทราบแล้วว่า functions.php ตั้งอยู่ที่ไหนและเข้าถึงมันได้แล้ว คุณอาจต้องการตรวจสอบหรือแก้ไขไฟล์ ก่อนที่คุณจะทำอย่างนั้นได้ คุณจะต้องดาวน์โหลดมันเสียก่อน คลิกขวาที่ไฟล์ functions.php ของคุณแล้วเลือก ดาวน์โหลด ไฟล์ของคุณจะถูกดาวน์โหลดไปยังเครื่องของคุณ

ดาวน์โหลดไฟล์ functions.php จาก Filezilla

การเข้าถึง functions.php ใน cPanel

หากโฮสต์ของคุณใช้ cPanel คุณสามารถเข้าถึง functions.php ผ่านตัวจัดการไฟล์ หากคุณไม่ทราบวิธีค้นหา cPanel ในแดชบอร์ดของโฮสต์ โปรดติดต่อฝ่ายสนับสนุนลูกค้าเพื่อขอความช่วยเหลือ

ขั้นตอนที่ 1: เปิดตัวจัดการไฟล์ของ cPanel เมื่อคุณอยู่ใน cPanel แล้ว ให้ไปที่ส่วน ไฟล์ แล้วคลิก ตัวจัดการไฟล์

ขั้นตอนที่ 2: เปิดโฟลเดอร์รากของเว็บไซต์ของคุณ โดยทั่วไปแล้วโฟลเดอร์รากจะเรียกว่า www หรือ public_html แต่อาจมีชื่ออื่น หลักการตั้งชื่อโฟลเดอร์รูทนั้นแตกต่างกันไปในบางโฮสต์ ดังนั้นหากคุณไม่แน่ใจว่าจะดูโฟลเดอร์ใด ให้ถามผู้ให้บริการโฮสติ้งของคุณ

คุณจะรู้ว่าคุณอยู่ในโฟลเดอร์ที่ถูกต้อง หากคุณเห็นโฟลเดอร์ wp-admin , wp-content และ wp-includes ใกล้กับด้านบนสุดของรายการไฟล์ของคุณ

ขั้นตอน ที่ 3: ค้นหาและดาวน์โหลด functions.php ไฟล์ functions.php สำหรับ WordPress core จะอยู่ในโฟลเดอร์ wp-includes ของคุณ

ไฟล์ functions.php ของธีมของคุณอยู่ใน wp-content → themes → yourtheme

หากคุณกำลังมองหาไฟล์ functions.php ของธีมลูกของคุณ คุณสามารถค้นหาได้ใน wp-content → ธีม → yourtheme-child

เมื่อคุณพบไฟล์ functions.php ที่คุณต้องการ ให้คลิกขวาที่ functions.php แล้วคลิก Download หรือคลิกเดียว functions.php จากนั้นคลิกตัวเลือก ดาวน์โหลด จากเมนูด้านบน

ดาวน์โหลดไฟล์ functions.php จาก cpanel

หากคุณเปลี่ยนชื่อไฟล์เมื่อบันทึก อย่าลืมตั้งชื่อไฟล์กลับไปเป็น functions.php ก่อนอัปโหลดใหม่ และก่อนที่คุณจะทำการเปลี่ยนแปลงและเขียนทับ functions.php ให้สำรองไซต์ WordPress ของคุณ

ฉันควรแก้ไข functions.php ใน WordPress เมื่อใด

ก่อนที่เราจะพูดถึงวิธีการแก้ไข functions.php เราควรพูดถึง ว่า คุณควรแก้ไขเมื่อใดและ เมื่อ ใด มีเหตุผลมากมายที่คุณอาจต้องการแก้ไขโค้ด PHP ใน WordPress แต่การเพิ่มโค้ดนั้นลงในไฟล์ functions.php ของคุณไม่ใช่ตัวเลือกที่ดีที่สุดเสมอไป และควรทำในบางกรณีเท่านั้น ซึ่งเราจะพูดถึงด้านล่าง

เมื่อใดควรแก้ไข functions.php ใน WordPress core

ไม่เคย. คุณไม่ควรแก้ไข functions.php ในแกนหลักของ WordPress อย่างมากที่สุด คุณอาจแทนที่ได้หากพบว่าเกิดความเสียหาย แต่การลบหรือเพิ่มโค้ดใน WordPress core functions.php อาจทำให้ไซต์ของคุณเสียหายได้ ดังนั้น คุณสามารถเปิด ตรวจสอบ แทนที่ด้วยสำเนาใหม่ได้หากต้องการ แต่อย่าไปยุ่งกับเว็บไซต์ที่ใช้งานจริง

เมื่อใดควรแก้ไข functions.php ในธีมของคุณ

เมื่อพูดถึงไฟล์ functions.php ของธีม คุณอาจจำเป็นต้องแก้ไขหรือไม่ก็ได้ หากคุณกำลังสร้างธีมของคุณเอง คุณจะต้องเพิ่มโค้ดที่กำหนดเองลงใน functions.php อย่างแน่นอน เกือบทุกธีมมีโค้ดอยู่ในไฟล์ functions.php ที่ให้ชุดคุณสมบัติและความสามารถเฉพาะตัว นอกจากสไตล์ชีตของคุณแล้ว ฟังก์ชันเหล่านี้ยังเป็นส่วนสำคัญที่ทำให้ธีมหนึ่งแตกต่างจากอีกธีมหนึ่ง

หากคุณกำลังเพิ่มโค้ดลงในไฟล์ functions.php ของธีมของคุณซึ่งไม่ได้เจาะจงสำหรับธีมของคุณ และสามารถใช้แยกจากธีมของคุณได้ ให้พิจารณาสร้างให้เป็นปลั๊กอินแทน วิธีนี้ทำให้คุณสามารถใช้คุณลักษณะนี้ในหลายๆ ธีม และส่งไปยังไลบรารีปลั๊กอิน WordPress.org ซึ่งอาจเป็นประโยชน์ต่อผู้ใช้ WordPress คนอื่นๆ

ก่อนสร้างปลั๊กอิน ให้ตรวจสอบไลบรารีปลั๊กอินเพื่อให้แน่ใจว่าสิ่งที่คุณกำลังสร้างไม่มีอยู่ หากมีโซลูชันที่มีคุณภาพอยู่แล้ว คุณอาจต้องการประหยัดพลังงานในการพัฒนาสำหรับคุณลักษณะที่กำหนดเองอื่นๆ ในไซต์ของคุณ

เมื่อใดควรแก้ไข functions.php ในธีมลูกของคุณ

หากคุณกำลังใช้ธีมจากนักพัฒนาซอฟต์แวร์ และต้องการแก้ไขไฟล์ functions.php คุณควรใช้ธีมย่อยเพื่อทำการเปลี่ยนแปลงเหล่านั้นเสมอ เมื่อผู้พัฒนาธีมออกเวอร์ชันใหม่ของธีม และคุณอัปเดตเป็นเวอร์ชันล่าสุด ธีมปัจจุบันของคุณจะถูกเขียนทับโดยไฟล์ใหม่ ซึ่งรวมถึง functions.php

ธีมย่อยจะไม่ได้รับผลกระทบจากการอัปเดตธีมหลัก ดังนั้น คุณจะยังคงเก็บโค้ดที่กำหนดเองทั้งหมดไว้หากคุณทำการเปลี่ยนแปลงในไฟล์ functions.php ของธีมย่อย

ก่อนเพิ่มโค้ด ให้พิจารณาว่าการใช้ปลั๊กอินจะเป็นทางออกที่ดีกว่าหรือไม่ รหัสที่คุณเพิ่มเฉพาะสำหรับธีมของคุณใช่หรือไม่ แก้ไขไฟล์ functions.php ของธีมลูกของคุณ โค้ดที่คุณกำลังเพิ่มเป็นสิ่งที่คุณต้องการยังคงมีอยู่หรือไม่ หากคุณเปลี่ยนธีมในอนาคต (เช่น โค้ดติดตาม Google Analytics หรือพิกเซลของ Facebook) ใช้ปลั๊กอิน

วิธีแก้ไข functions.php ใน WordPress

คุณควรทำตามขั้นตอนต่างๆ เพื่อปกป้องไซต์ของคุณจากข้อผิดพลาดใดๆ ที่อาจเกิดขึ้นขณะแก้ไข functions.php ดังนั้น ก่อนที่คุณจะเริ่มทำการแก้ไข ให้สำรองข้อมูลไซต์ของคุณและพิจารณาสร้างไซต์จัดเตรียมเพื่อทดสอบก่อน วิธีนี้จะทำให้ไซต์ที่ใช้งานจริงของคุณไม่หยุดชะงัก หากคุณเพิ่มโค้ดบางโค้ดลงใน functions.php ที่ทำให้เกิดปัญหาใหญ่โดยไม่ได้ตั้งใจ หรือที่แย่กว่านั้นคือทำให้ไซต์ของคุณล่มโดยสมบูรณ์

เมื่อคุณสำรองข้อมูลไซต์ของคุณแล้ว คุณสามารถดำเนินการแก้ไขไฟล์ functions.php ของคุณได้

วิธีแก้ไข functions.php ใน WordPress Theme File Editor

การแก้ไข functions.php ใน WordPress Theme File Editor นั้นมีความเสี่ยงเล็กน้อย หากคุณกำลังใช้เครื่องมือนี้เนื่องจากคุณไม่สามารถเข้าถึง cPanel หรือ SFTP ได้ คุณจะอยู่ในสถานการณ์ที่เลวร้ายหากการแก้ไขของคุณทำให้เกิดข้อผิดพลาดร้ายแรงที่ทำให้คุณไม่สามารถเข้าถึงแดชบอร์ด WordPress ของคุณได้

หากคุณต้องการแก้ไข functions.php ใน Theme File Editor ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงเซิร์ฟเวอร์และข้อมูลสำรองของคุณได้โดยตรง เพื่อให้สามารถกู้คืนไฟล์สำรองของคุณได้อย่างรวดเร็ว

คุณสามารถค้นหาตัวแก้ไขไฟล์ธีมของ WordPress ได้ภายใต้ ลักษณะที่ปรากฏ → ตัวแก้ไขไฟล์ธีม ในแผงการดูแลระบบ WordPress ของคุณ

คุณจะถูกนำไปที่หน้าจอแก้ไขธีม ซึ่งคุณควรเลือกธีมลูกของคุณ จากนั้นเลือกไฟล์ functions.php จากคอลัมน์ไฟล์ธีมที่ด้านขวาของหน้าจอ

การแก้ไขไฟล์ functions.php ในไฟล์ธีม editoor

หากคุณเลือกธีมหลักแทน คุณจะเห็นคำเตือนที่ด้านล่างของหน้าจอว่า " ข้อควรระวัง: นี่คือไฟล์ในธีมหลักปัจจุบันของคุณ" คุณไม่ต้องการแก้ไขไฟล์ functions.php ของธีมหลักของคุณ เนื่องจากการเปลี่ยนแปลงของคุณจะถูกเขียนทับในครั้งต่อไปที่คุณอัปเดตธีม

หากคุณเห็นฟังก์ชันในไฟล์ที่คุณไม่เข้าใจ WordPress มีคุณลักษณะการค้นหาเอกสารที่มีประโยชน์ซึ่งอยู่เหนือปุ่ม อัปเดตไฟล์ คลิกเมนูแบบเลื่อนลงและค้นหาชื่อฟังก์ชันที่คุณต้องการเรียนรู้เพิ่มเติม แล้วคลิก ค้นหา คุณจะถูกนำไปยังเอกสารประกอบของ WordPress.org สำหรับฟังก์ชันนั้น

เมื่อคุณทำการเปลี่ยนแปลงเสร็จแล้ว ให้คลิก อัปเดตไฟล์ ตรวจสอบส่วนหน้าและส่วนหลังของไซต์เพื่อให้แน่ใจว่าทุกอย่างยังคงทำงานตามที่ตั้งใจไว้ หากคุณพบข้อผิดพลาดร้ายแรงและจำเป็นต้องกู้คืน functions.php จากข้อมูลสำรองของคุณ คุณสามารถทำได้ใน cPanel หรือผ่าน SFTP

การแก้ไข functions.php ด้วยโปรแกรมแก้ไขข้อความ

วิธีที่ดีที่สุดในการแก้ไข functions.php อยู่ในซอฟต์แวร์แก้ไขโค้ดที่คุณเลือก เนื่องจากคุณกำลังแก้ไขสำเนาที่ออฟไลน์อยู่ในคอมพิวเตอร์ของคุณ คุณไม่จำเป็นต้องเชื่อมต่ออินเทอร์เน็ตเพื่อทำงานกับไฟล์ของคุณ นอกจากนี้คุณยังสามารถควบคุมได้มากขึ้นเมื่อคุณยอมรับการเปลี่ยนแปลงของคุณกับไซต์ที่ใช้งานจริงของคุณ

คุณสามารถแก้ไขโค้ดของคุณได้ทุกเมื่อที่ต้องการ และอัปโหลดการเปลี่ยนแปลงของคุณในเวลาที่เว็บไซต์ของคุณมีการเข้าชมน้อยที่สุด ด้วยวิธีนี้ หากมีปัญหาใดๆ ผู้เข้าชมจะได้รับผลกระทบน้อยที่สุด

ขั้นตอนที่ 1: เปิด functions.php ในโปรแกรมแก้ไขข้อความของคุณ หากคุณไม่คุ้นเคยกับการใช้โปรแกรมแก้ไขข้อความ มีตัวเลือกฟรีมากมายให้เลือก

ฟรีซอร์สโค้ดและโปรแกรมแก้ไขข้อความธรรมดา:

แอปพลิเคชัน ระบบ
แผ่นจดบันทึก++ Windows
Atom.io Windows, Mac, Linux
ประเสริฐ Windows, Mac, Linux
TextEdit
*ตรวจสอบให้แน่ใจว่าคุณอยู่ในโหมดข้อความธรรมดา
Mac (แอปพลิเคชันเริ่มต้น)
แผ่นจดบันทึก Windows (แอปพลิเคชันเริ่มต้น)

ขั้นตอนที่ 2: แก้ไข functions.php และบันทึกลงในเครื่องของคุณ จอแสดงผลของคุณอาจดูแตกต่างออกไปขึ้นอยู่กับโปรแกรมที่คุณใช้แก้ไขไฟล์ functions.php ของคุณ นี่คือลักษณะของโค้ด PHP ใน atom.io:

การแก้ไข functions.php ใน atom.io

เพิ่มหรือเปลี่ยนแปลงข้อมูลใดๆ ที่คุณต้องการ จากนั้นบันทึกไฟล์ของคุณ

ขั้นตอนที่ 3: ลงชื่อเข้าใช้เว็บเซิร์ฟเวอร์ของคุณผ่าน SFTP หรือ cPanel ไปที่โฟลเดอร์ธีมหรือธีมลูกของคุณและค้นหาไฟล์ functions.php

ขั้นตอนที่ 4: เปลี่ยนชื่อไฟล์ของ functions.php บนเว็บเซิร์ฟเวอร์ของคุณ ในกรณีที่เวอร์ชันที่แก้ไขของคุณมีข้อผิดพลาด คุณไม่ต้องการเขียนทับไฟล์ functions.php เดิมของคุณ แน่นอน คุณได้สำรองข้อมูลไว้แล้ว แต่แทนที่จะต้องดึงไฟล์ functions.php จากข้อมูลสำรองของคุณ คุณจะมีไฟล์ต้นฉบับอยู่ในมือ

คุณต้องการให้กู้คืนไฟล์ functions.php ได้อย่างรวดเร็วหากมีสิ่งผิดปกติ ดังนั้นให้เปลี่ยนชื่อไฟล์เป็น 'functions-orginal.php' เพื่อให้แน่ใจว่าเนื้อหาของไฟล์ต้นฉบับจะยังคงอยู่บนเซิร์ฟเวอร์ของคุณ

เปลี่ยนชื่อไฟล์ functions.php

ขั้นตอนที่ 5: อัปโหลด functions.php จากเครื่องในพื้นที่ของคุณไปยังเว็บเซิร์ฟเวอร์ของคุณ ใช้ SFTP หรือ cPanel อัปโหลดไฟล์ functions.php ของคุณไปยังไดเร็กทอรีหลักของธีมหรือธีมลูกของคุณ

ขั้นตอนที่ 6: เยี่ยมชมเว็บไซต์ของคุณเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง เมื่อคุณอัปโหลดไฟล์ functions.php แล้ว คุณควรตรวจสอบเพื่อให้แน่ใจว่าทุกอย่างทำงานบนเว็บไซต์ของคุณ ไปที่ส่วนหน้าและลงชื่อเข้าใช้แดชบอร์ด WordPress เพื่อให้แน่ใจว่าทุกอย่างสามารถเข้าถึงได้และแสดงและทำงานอย่างถูกต้อง

ขั้นตอนที่ 7: ลบ ไฟล์ functions.php เก่าที่เปลี่ยนชื่อ เมื่อคุณระบุแล้วว่าไซต์ของคุณทำงานอย่างถูกต้องแล้ว คุณสามารถลบ functions-original.php (หรืออะไรก็ตามที่คุณเปลี่ยนชื่อเป็น) หากคุณพบปัญหาระหว่างทาง คุณควรจะยังมีไฟล์ functions.php จากข้อมูลสำรองที่คุณสร้างขึ้น

การแก้ไข functions.php โดยตรงใน cPanel

หากคุณไม่มีหรือไม่ต้องการใช้เครื่องมือแก้ไขซอร์สโค้ด คุณสามารถแก้ไข functions.php ได้โดยตรงใน cPanel (หากโฮสต์ของคุณใช้ cPanel) เช่นเดียวกับการแก้ไขใน WordPress Theme File Editor มีความเสี่ยงมากกว่าการทำงานบนเครื่องของคุณเล็กน้อย หากการเชื่อมต่ออินเทอร์เน็ตของคุณหยุดชะงักในขณะที่คุณกำลังแก้ไข การเปลี่ยนแปลงของคุณอาจสูญหาย คุณยังเสี่ยงต่อการเขียนทับไฟล์ functions.php ดั้งเดิมของคุณอีกด้วย

ขั้นตอนที่ 1: ค้นหา functions.php ใน cPanel ใน cPanel ให้คลิกที่ File Manager

ไปที่โฟลเดอร์รูทของคุณ (โดยปกติคือ public_html หรือ www แต่อาจมีชื่ออื่น)

ขั้นตอนที่ 2: สร้างสำเนา ของ functions.php ในเมนูหลักของตัวจัดการไฟล์ ให้คลิก + โฟลเดอร์ เพื่อเพิ่มโฟลเดอร์ใหม่ คุณจะต้องทำสำเนาไฟล์ functions.php ของคุณและบันทึกไว้ที่นี่เพื่อเป็นข้อมูลสำรอง

ตั้งชื่อโฟลเดอร์ใหม่ของคุณให้ง่ายต่อการระบุ เช่น 'ฟังก์ชันสำรอง' เพื่อให้คุณสามารถค้นหาได้ง่ายในภายหลัง คลิก สร้างโฟลเดอร์ใหม่

ทำการสำรอง cpanel ของไฟล์ functions.php

ขั้นตอนที่ 3: ค้นหา functions.php ในโฟลเดอร์ธีมหรือธีมลูกของคุณและคัดลอกไปยังโฟลเดอร์สำรอง ในโฟลเดอร์ธีมหรือธีมลูก ให้เลื่อนลงมาที่ functions.php และคลิกขวาที่ชื่อไฟล์ เลือก คัดลอก

คัดลอกไฟล์ functions.php ใน cpanel

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

ขั้นตอนที่ 4: กลับไปที่ functions.php ในไดเร็กทอรีธีมหรือธีมลูก เมื่อคุณมีข้อมูลสำรองแล้ว คุณสามารถกลับไปที่ไฟล์ functions.php ในไดเร็กทอรีธีมหรือธีมลูก และเริ่มแก้ไขได้

คลิกขวาที่ functions.php จากนั้นคลิก แก้ไข

ขั้นตอน ที่ 5: แก้ไข functions.php ตอนนี้คุณควรเห็นเนื้อหาของไฟล์ functions.php ของคุณบนหน้าจอ ควรมีลักษณะดังนี้:

ตัวอย่างของไฟล์ functions.php ใน cpanel

เพิ่มหรือเปลี่ยนแปลงข้อมูลใดๆ ที่คุณต้องการ จากนั้นบันทึกไฟล์ของคุณ

การใช้ปลั๊กอินเพื่อเพิ่มฟังก์ชันให้กับไซต์ WordPress ของคุณ

แทนที่จะแก้ไขไฟล์ functions.php โดยตรง คุณสามารถใช้ปลั๊กอินเช่น Code Snippets เพื่อเพิ่มฟังก์ชันให้กับเว็บไซต์ของคุณได้ หากคุณต้องการเพิ่มฟังก์ชันจำนวนมากในไซต์ของคุณ คุณอาจจะลืมได้ง่ายว่าฟังก์ชันใดที่คุณยังต้องการและไม่ต้องการ

ข้อมูลโค้ดมีส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) สำหรับจัดการบล็อกโค้ด PHP ของคุณ คุณสามารถเพิ่มคำอธิบายเพื่อให้คุณรู้ว่าโค้ดนั้นควรทำอย่างไร และเปิดและปิดบล็อกของโค้ดได้ เช่นเดียวกับการเปิดใช้งานและปิดใช้งานปลั๊กอิน

เนื่องจากคุณไม่ได้ทำการเปลี่ยนแปลง functions.php จึงเป็นวิธีการที่ปลอดภัยกว่ามากในการเพิ่มฟังก์ชัน PHP ลงในไซต์ WordPress ของคุณ

วิธีป้องกัน functions.php จากช่องโหว่ด้านความปลอดภัย

ไฟล์ functions.php มักเป็นเป้าหมายของแฮกเกอร์ ดังนั้นการรักษาให้ปลอดภัยควรมีความสำคัญสูง ทำตามขั้นตอนต่อไปนี้เพื่อช่วยรักษาความปลอดภัยให้กับไฟล์ functions.php ของคุณ:

1. ติดตั้งปลั๊กอินความปลอดภัย

ด้วยการใช้ปลั๊กอินความปลอดภัย คุณจะเพลิดเพลินกับการป้องกันขั้นสูงจากแฮกเกอร์ในหลายพื้นที่ของไซต์ของคุณ

Jetpack Security เป็นตัวเลือกราคาไม่แพงที่ช่วยให้ไซต์ของคุณปลอดภัยจากการโจมตีที่เป็นอันตราย ซึ่งรวมถึงการสแกนมัลแวร์และการแก้ไขในคลิกเดียว การป้องกันการโจมตีแบบเดรัจฉาน การตรวจสอบเวลาหยุดทำงาน บันทึกกิจกรรมเพื่อให้คุณทราบว่าไซต์ของคุณถูกแฮ็กหรือไม่และเมื่อใด และการป้องกันการเข้าสู่ระบบผ่านการตรวจสอบสิทธิ์แบบสองปัจจัย (2FA)

การส่งข้อความหน้าแรกของ Jetpack

Jetpack Security ยังตรวจสอบไซต์ของคุณสำหรับการเปลี่ยนแปลงใดๆ ในไฟล์ WordPress หลัก ปลั๊กอินที่ล้าสมัยหรือไม่ปลอดภัย และช่องโหว่อื่นๆ เพื่อให้คุณสามารถตรวจจับได้ก่อนที่แฮ็กเกอร์จะพบและใช้ประโยชน์

นอกจากนี้ ยังมีการสำรองข้อมูล WordPress แบบเรียลไทม์ ดังนั้นคุณจึงสามารถกู้คืนเวอร์ชันที่สะอาดได้อย่างรวดเร็ว หากมีสิ่งผิดปกติเกิดขึ้น แม้ว่าคุณจะไม่สามารถเข้าสู่ไซต์ของคุณได้

2. ปฏิเสธการเข้าถึง WordPress core functions.php ผ่านทาง . htaccess ไฟล์

หากเว็บไซต์ของคุณโฮสต์บนเซิร์ฟเวอร์ Apache คุณสามารถใช้นามสกุล . htaccess เพื่อช่วยปกป้องไฟล์ functions.php หลักของ WordPress โดยการบล็อกการเข้าถึงโฟลเดอร์ wp-includes ทั้งหมด

ขั้นตอนที่ 1: ดาวน์โหลด .htaccess

ใช้ SFTP หรือ cPanel ไปที่โฟลเดอร์รูทของเว็บไซต์ของคุณ คลิกขวาที่ htaccess แล้วเลือก Download เพื่อดาวน์โหลดไฟล์ลงเครื่องคอมพิวเตอร์ของคุณ

ขั้นตอนที่ 2: เพิ่มรหัสเพื่อบล็อกการเข้าถึงโฟลเดอร์ wp-includes

ในซอร์สโค้ดหรือโปรแกรมแก้ไขข้อความธรรมดา ให้เปิด . htaccess และเพิ่มรหัสต่อไปนี้:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

บันทึกไฟล์ของคุณ ตรวจสอบให้แน่ใจว่าโปรแกรมแก้ไขของคุณไม่มีนามสกุลไฟล์ หากคุณใช้ Notepad++ หรือ Text Edit อาจเพิ่มนามสกุลไฟล์ .txt ไฟล์ควรตั้งชื่อง่ายๆ ว่า '.htaccess'

ขั้นตอนที่ 3: อัปโหลดไฟล์ที่แก้ไขแล้ว htaccess กลับไปที่โฟลเดอร์รูท

อัปโหลดที่คุณแก้ไข htaccess กลับไปที่โฟลเดอร์รูทของเว็บไซต์ของคุณ ระบบจะถามว่าคุณต้องการเขียนทับไฟล์ที่มีอยู่หรือไม่ คลิก ตกลง

ตอนนี้ของคุณ htaccess ไฟล์ควรบล็อกการเข้าถึงภายนอกสำหรับไฟล์ใด ๆ ในโฟลเดอร์ wp-includes ของคุณ รวมถึง functions.php

3. ปฏิเสธการเข้าถึง functions.php โดยใช้ functions.php

คุณสามารถบล็อกการเข้าถึงไฟล์ functions.php ของคุณได้โดยตรงโดยการเพิ่มข้อมูลโค้ดต่อไปนี้ลงใน functions.php โดยตรง

 if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }

4. ซ่อน functions.php นอกไดเร็กทอรีราก

แฮกเกอร์ทราบตำแหน่งเริ่มต้นของไฟล์ WordPress มาตรฐานทั้งหมด การเปลี่ยนตำแหน่งของไฟล์ที่ละเอียดอ่อนเป็นโฟลเดอร์การเข้าถึงแบบจำกัดนอกไดเรกทอรีรากสามารถป้องกันไม่ให้แฮกเกอร์เข้าถึงได้ กระบวนการนี้มีความเกี่ยวข้องมากกว่าเพียงแค่การเพิ่มโค้ดบางส่วนลงในไฟล์ . htaccess ของคุณ แต่ก็คุ้มค่ากับความพยายามเพิ่มเติมสำหรับชั้นการป้องกันเพิ่มเติมสำหรับเว็บไซต์ของคุณ

เพียงไม่กี่ขั้นตอน คุณสามารถรักษาความปลอดภัยให้กับ functions.php นอกโฟลเดอร์รูท

ขั้นตอนที่ 1 : ดาวน์โหลดไฟล์ functions.php ปัจจุบันของคุณ

หากคุณกำลังย้ายไฟล์ functions.php ของธีม คุณจะพบไฟล์ดังกล่าว ใน wp-content → themes → yourtheme ไฟล์ธีมลูกของคุณจะอยู่ใน wp-content → themes → yourtheme-child

เมื่อคุณพบไฟล์ functions.php ของคุณแล้ว ให้ดาวน์โหลดลงในคอมพิวเตอร์ของคุณผ่าน SFTP หรือ cPanel

ขั้นตอนที่ 2: สร้างไดเร็กทอรีใหม่นอกโฟลเดอร์รูท

นำทางนอกไดเรกทอรีรากของคุณไปยังโฟลเดอร์ไฟล์ถัดไปในระดับที่สูงขึ้น คุณควรเห็นชื่อโฟลเดอร์รูทของคุณรวมถึงโฟลเดอร์อื่นๆ อีกหลายโฟลเดอร์ ในไดเร็กทอรีนี้ ให้คลิกขวาและเลือก Create directory

การสร้างไดเร็กทอรีใน Filezilla

ตั้งชื่อไดเร็กทอรีของคุณที่จำง่ายว่าเป็นตำแหน่งของไฟล์ functions.php ของคุณ

ขั้นตอนที่ 3: อัปโหลด functions.php ไปยังโฟลเดอร์ใหม่ของคุณ

อัปโหลดไฟล์ functions.php ที่คุณดาวน์โหลดไว้ก่อนหน้านี้ลงในโฟลเดอร์ใหม่ของคุณผ่าน SFTP หรือ cPanel

อัพโหลดไฟล์ functions.php

ตรวจสอบสิทธิ์ในโฟลเดอร์และไฟล์ functions.php ใหม่ของคุณและตรวจสอบให้แน่ใจว่าได้ตั้งค่าเป็น 600

การตั้งค่าการอนุญาตสำหรับไฟล์ functions.php

ขั้นตอนที่ 4 : ชี้ WordPress ไปที่ไฟล์ functions.php ใหม่

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

 <?php include('/home3/usr/securefunctions/functions.php'); ?>

หมายเหตุ: เส้นทางของไฟล์ของคุณจะดูแตกต่างออกไป เนื่องจากคุณจะใช้ชื่อไดเรกทอรีของเซิร์ฟเวอร์

ใน cPanel คุณสามารถเปิดไฟล์ functions.php ของไดเร็กทอรี root และแก้ไขได้โดยตรง หรือคุณสามารถแก้ไขสำเนาที่คุณดาวน์โหลดไปยังเครื่องท้องถิ่นของคุณก่อนหน้านี้ได้โดยใช้โปรแกรมแก้ไขซอร์สโค้ด สำหรับตัวอย่างนี้ เราได้แก้ไขสำเนาที่เราดาวน์โหลดมาก่อนหน้านี้โดยใช้ Atom.io

บันทึกไฟล์ funtions.php ของคุณและอัปโหลดกลับไปที่ไดเร็กทอรีธีมของคุณ

ส่งคืนไฟล์ functions.php ผ่าน ftp

ระบบจะถามว่าคุณต้องการเขียนทับไฟล์หรือไม่ คลิก ตกลง

ตอนนี้ WordPress ควรอ้างอิงไฟล์ functions.php ใหม่ของคุณในตำแหน่งที่ปลอดภัยนอกโฟลเดอร์รูท

4. เปลี่ยนชื่อไฟล์ functions.php ของคุณ

การเปลี่ยนชื่อไฟล์ functions.php ของคุณเป็นอีกขั้นตอนหนึ่งที่คุณสามารถทำได้เพื่อให้ปลอดภัยจากแฮกเกอร์ คุณจะต้องโฮสต์ไฟล์นี้นอกโฟลเดอร์รูทของคุณ ดังนั้น หากคุณทำตามขั้นตอนใน Hide functions.php นอกไดเร็กทอรีราก คุณจะต้องทำตามขั้นตอนเพิ่มเติมอีกสองสามขั้นตอนเท่านั้น

ขั้นตอนที่ 1: ในไดเร็กทอรีที่ปลอดภัยของคุณนอกโฟลเดอร์รูท ให้เปลี่ยนชื่อไฟล์ของ functions.php

ไปที่โฟลเดอร์ functions.php ที่โฮสต์อยู่นอกไดเร็กทอรีรากของคุณและเปลี่ยนชื่อไฟล์เป็นชื่อเฉพาะ เช่น 'keep-out.php' หรือ 'these-are-not-the-functions-you-are-looking-for php' . โอเค อันสุดท้ายจะยาวหน่อย แต่ไม่สำคัญหรอกว่าคุณจะเรียกมันว่าอะไร ตราบใดที่คุณรวมไว้ในพาธของไฟล์ในโฟลเดอร์ธีม สำเนา functions.php

ขั้นตอนที่ 2: แก้ไขโค้ดใน functions.php ในไดเร็กทอรีรากของคุณเพื่อให้สอดคล้องกับการเปลี่ยนชื่อ

ตอนนี้คุณได้เปลี่ยนชื่อเป็นอย่างอื่นที่ไม่ใช่ functions.php แล้ว คุณจะต้องตรวจสอบให้แน่ใจว่าสำเนาไดเร็กทอรีธีมของคุณของ functions.php ชี้ไปที่ชื่อไฟล์ที่ถูกต้อง

ดาวน์โหลดสำเนาโฟลเดอร์รูทของ functions.php ลงในเครื่องคอมพิวเตอร์ของคุณ และแก้ไขด้วยโปรแกรมแก้ไขข้อความของคุณ เปลี่ยนชื่อไฟล์ functions.php เป็นชื่อไฟล์ใหม่ของคุณ จากนั้นบันทึกไฟล์ของคุณ

 <?php include('/home3/usr/secureconfig/keep-out.php'); ?>

ขั้นตอนที่ 3: อัปโหลด functions.ph p กลับไปที่ไดเร็กทอรีธีม

ระบบจะถามว่าคุณต้องการเขียนทับไฟล์ที่มีอยู่หรือไม่ คลิก ตกลง

ตอนนี้ WordPress ควรชี้ไปที่ไฟล์ฟังก์ชันที่คุณเปลี่ยนชื่อ

ระดับความปลอดภัยเพิ่มเติมสำหรับ functions.php

คุณสามารถเพิ่มการป้องกันเพิ่มเติมให้กับเว็บไซต์ของคุณโดยรวม รวมถึงไฟล์ functions.php ของคุณ โดยทำการเปลี่ยนแปลงที่คล้ายกันกับ ไฟล์ wp-config ของคุณ เช่น การเปลี่ยนชื่อ โฮสต์ภายนอกไดเรกทอรีราก และปฏิเสธการเข้าถึงแบบสาธารณะ

หากคุณเห็นรหัสที่น่าสงสัยในไฟล์ functions.php ของคุณ และกังวลว่าคุณอาจถูกแฮ็กแล้ว คุณจะต้องอ่านวิธีตรวจจับและลบมัลแวร์ออกจากเว็บไซต์ WordPress ของคุณ

ฉันสามารถเพิ่มโค้ดใดใน functions.php ใน WordPress ได้บ้าง

มีข้อมูลโค้ดมากมายที่คุณสามารถเพิ่มลงในไฟล์ WordPress functions.php ของคุณได้ อย่างไรก็ตาม คุณมักจะได้รับบริการที่ดีกว่าโดยใช้ปลั๊กอิน (หรือเขียนปลั๊กอินของคุณเอง) สำหรับฟังก์ชันต่างๆ หากโค้ดที่คุณต้องการเพิ่มนั้นเจาะจงสำหรับธีมของคุณ คุณสามารถเพิ่มโค้ด PHP นั้นลงในไฟล์ functions.php ของธีมลูกของคุณได้

ด้านล่างนี้คือฟังก์ชันที่มีประโยชน์จำนวนหนึ่งที่คุณอาจใส่ลงในไฟล์ functions.php ของธีมลูกของคุณ:

การเพิ่มผู้ดูแลระบบใหม่ใน functions.php

หากคุณสูญเสียสิทธิ์การเข้าถึงของผู้ดูแลระบบในแดชบอร์ด WordPress และไม่สามารถกู้คืนชื่อผู้ใช้หรือรหัสผ่านผ่านอีเมล คุณสามารถสร้างผู้ดูแลระบบใหม่ผ่านบัญชีโฮสติ้งของคุณได้ ไม่ว่าจะผ่านทาง SFTP หรือ cPanel คุณสามารถดาวน์โหลดไฟล์ functions.php ของคุณ และเพิ่มโค้ดต่อไปนี้เพื่อสร้างผู้ดูแลระบบใหม่สำหรับเว็บไซต์ของคุณ

 function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );

ในโค้ดด้านบน แทนที่ 'your-username', 'your-password' และ 'your-email' ด้วยข้อมูลประจำตัวของคุณเอง บันทึกไฟล์ functions.php ของคุณและอัปโหลดใหม่ไปยังโฟลเดอร์ธีมของคุณ การดำเนินการนี้จะสร้างผู้ดูแลระบบใหม่ด้วยชื่อผู้ใช้ รหัสผ่าน และที่อยู่อีเมลที่คุณกำหนดไว้ในรหัส

หลังจากที่คุณอัปโหลดไฟล์แล้ว ให้ไปที่หน้าเข้าสู่ระบบของเว็บไซต์และใช้ชื่อผู้ใช้และรหัสผ่านใหม่เพื่อเข้าสู่ระบบ เมื่อการเข้าสู่ระบบของคุณสำเร็จและคุณได้ยืนยันว่าคุณมีสิทธิ์ของผู้ดูแลระบบ คุณควรลบรหัสที่คุณเพิ่มเข้าไป สร้างบัญชีผู้ดูแลระบบใหม่จาก functions.php

การเพิ่มและลบขนาดรูปภาพใน functions.php

เมื่อคุณอัปโหลดรูปภาพไปยัง WordPress Media Library รูปภาพของคุณจะถูกสร้างขึ้นหลายรูปแบบ WordPress มีภาพขนาดย่อเริ่มต้น ขนาดเล็ก กลาง และใหญ่ที่ใช้นอกเหนือจากภาพขนาดเต็มของคุณ โดยทั่วไป ธีมของคุณจะดึงขนาดภาพที่เหมาะสมที่สุดสำหรับแต่ละส่วนในไซต์ของคุณ

หากคุณกำลังสร้างธีมของคุณเองหรือจำเป็นต้องแก้ไขธีมย่อยเพื่อรองรับขนาดรูปภาพที่กำหนดเองเพิ่มเติม คุณสามารถทำได้ในไฟล์ functions.php ของคุณ

ใช้โค้ดต่อไปนี้และเปลี่ยนชื่อขนาดรูปภาพที่กำหนดเองจาก 'custom-small-square' และ 'custom-landscape' เป็นชื่อใดก็ได้ที่คุณต้องการใช้ ตัวเลขข้างชื่อขนาดรูปภาพที่กำหนดเองของคุณจะแสดงขนาดรูปภาพเป็นพิกเซล ดังนั้นให้ป้อนค่าพิกเซลที่มีความกว้างก่อนและความสูงเป็นวินาที

 function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );

Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.

If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:

 add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }

If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.

Use functions.php to allow additional file types in uploads

WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.

To add more allowed file types to WordPress, add the following code to your child theme's functions.php :

 function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);

For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.

You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.

Frequently asked questions about editing the functions.php file in WordPress

We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.

Do I really need to use a child theme to edit functions.php ?

คำตอบสั้น ๆ ? ใช่.

If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.

Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! ไปแล้ว.

Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.

I edited functions.php and now I don't have access to my WordPress dashboard. ช่วย!

In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!

There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.

I know what code I messed up. I just need to access and edit functions.php to fix it.

See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.

I have no clue what I did to my functions.php file, but I have a backup.

If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.

If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.

I have no idea what code caused the problem and I didn't make a backup.

If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.

Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .

Can I add JavaScript to my functions.php file?

Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.