WordPress มาพร้อมกับสคริปต์เริ่มต้นมากมายที่คุณสามารถใช้เพื่อเพิ่มพลังให้กับธีมและปลั๊กอินของคุณ jQuery เป็นสคริปต์ที่ใช้กันทั่วไปเช่นเดียวกับ TinyMCE แต่ถ้าคุณต้องการรวมสคริปต์ jQuery ของคุณเองล่ะ?

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

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

เหตุใดจึงต้องแก้ไขสคริปต์ภายใน: กรณีของ jQuery

มีหลายสถานการณ์ที่คุณอาจต้องการแก้ไขสคริปต์ภายในที่โหลด ตัวอย่างเช่นปัจจุบัน WordPress ใช้ jQuery 1.11.3 ตามค่าเริ่มต้นอย่างไรก็ตามเวอร์ชันล่าสุดคือ 1.12.3 หรือ 2.2.3 หากคุณกำลังเขียนแอปพลิเคชันที่อาศัยฟังก์ชัน jQuery ขั้นสูงคุณอาจต้องใช้สคริปต์เวอร์ชันใหม่กว่า

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

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

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

เราควรลบรหัสภายในออกจาก WordPress

วิธีการแก้ไขสคริปต์

ด้วยความมหัศจรรย์ของ WordPress คุณสามารถแก้ไขสคริปต์ที่สร้างขึ้นในธีมของคุณหรือแม้แต่สร้างปลั๊กอินเพื่อทำเพื่อคุณ ซึ่งหมายความว่าคุณไม่จำเป็นต้อง (และจะไม่!) เปลี่ยนรหัสเดิมที่โหลดสคริปต์ที่ละเมิด ฉันขอยกตัวอย่างให้คุณ

สมมติว่าธีมของคุณใช้สคริปต์ที่คุณต้องการลบหรือแทนที่ ในกรณีนี้คุณสามารถสร้างธีมลูกและโหลดรหัสที่ต้องการ

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

หากคุณต้องการแก้ไขสคริปต์ WordPress พื้นฐานควรทำในผลิตภัณฑ์ที่คุณกำลังเขียน หากคุณกำลังทำงานกับปลั๊กอินที่คุณควรทำกับมันถ้ามันเป็นชุดรูปแบบคุณต้องทำมันในไฟล์ function.php

"การยกเลิกการลงทะเบียน" ของสคริปต์

หากคุณยังไม่ได้ดูบทช่วยสอนก่อนหน้านี้เกี่ยวกับวิธีการเพิ่มสคริปต์ใน WordPress อย่างถูกต้องคุณสามารถทำได้ทันทีและกลับมา เราได้เห็นว่าวิธีการเพิ่มสคริปต์ใน WordPress คือการลงทะเบียน แน่นอนการนำออกคือกระบวนการย้อนกลับซึ่งหมายถึง "การยกเลิกการลงทะเบียน" หรือการยกเลิกการลงทะเบียน ทำได้โดยใช้ฟังก์ชัน wp_deregister_script () ดังนี้:

wp_deregister_script ('jquery');

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

การใช้รหัสด้านบนจะเป็นการลบสคริปต์ jQuery

สคริปเปลี่ยน

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

ฟังก์ชัน my_enqueued_assets () {wp_deregister_script ('jquery'); wp_enqueue_script ('ชื่อสคริปต์', '//code.jquery.com/jquery-2.2.3.min.js', อาร์เรย์ (), '2.2.3'); } add_action ('wp_enqueue_scripts', 'my_enqueued_assets');

ค้นหาสคริปต์ที่บันทึกไว้

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

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

$ wp_scripts ทั่วโลก; ก้อง ' ';
var_dump ($ wp_scripts);
ก้อง ' ';

อีกวิธีหนึ่งที่ฉันใช้คือค้นหา wp_enqueue_scripts ในไดเร็กทอรีปลั๊กอินของฉัน สิ่งนี้ทำให้ฉันเห็นว่าปลั๊กอินใดรับผิดชอบสคริปต์ใดในไซต์ของฉัน

ทำไมสคริปต์การเปลี่ยนไม่ใช่ความคิดที่ดีเสมอไป

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

ด้วยข้อเท็จจริงที่ว่า WordPress โหลด jQuery ในโหมด noConflict จึงมีโอกาสน้อยมากที่จะเกิดความขัดแย้งดังนั้นธีมจึงไม่ควรเปลี่ยนพฤติกรรมของ WordPress และโดยเฉพาะอย่างยิ่ง WordPress จะอัปเดตเวอร์ชันฝังตัวของ jQuery เป็นประจำ

เพื่อสรุป

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

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