การโฆษณา

บ้าน - การกู้คืน
การแทรกโค้ด PHP ลงใน WordPress ผ่านวิดเจ็ต ปลั๊กอิน — เอกสาร Webasyst วิธีติดตั้งปลั๊กอิน

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

ฉันรับรองกับคุณว่าหลังจากอ่านบทความนี้แล้ว คุณจะเปลี่ยนทัศนคติต่อปลั๊กอินและหยุดเพิ่มข้อมูลโค้ดอื่นใน function.php ของคุณ

ปลั๊กอินและฟังก์ชั่น.php

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

ความจริงก็คือโหลดไม่ได้เกิดจากปลั๊กอินโดยเฉพาะ แต่เกิดจากโค้ดที่เขียนไม่ถูกต้องซึ่งสามารถลงเอยใน Functions.php จากคู่มือถัดไปได้อย่างง่ายดาย

มาดูความแตกต่างที่สำคัญระหว่างปลั๊กอินและfunctions.phpกัน

ความแตกต่างพื้นฐานระหว่างปลั๊กอินและไฟล์ function.php คือวัตถุประสงค์และลำดับการดำเนินการ

ไม่มีเหตุผลใดที่จะเชื่อว่าโค้ดใน Functions.php จะดำเนินการได้เร็วกว่าในปลั๊กอิน รหัสเดียวกันในปลั๊กอินและใน function.php จะถูกดำเนินการด้วยความเร็วและโหลดเท่ากัน

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

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

หากคุณยังมีข้อสงสัย ให้ชงกาแฟสักแก้วแล้วอย่าลืมอ่านบทความของ Konstantin Kovshenin ในนิตยสาร WP - "ความจริงทั้งหมดเกี่ยวกับfunctions.php" ส่วนแรกอธิบายอย่างเรียบง่ายและชัดเจนว่าทำไมคุณไม่ควรเชื่อเรื่องเข้าใจผิดเกี่ยวกับ function.php

ปลั๊กอินเป็นทางเลือกแทนไฟล์ function.php

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

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

ก่อนอื่น เราต้องสร้างไฟล์บนคอมพิวเตอร์ของเราชื่อ ฟังก์ชั่นphp.php และเพิ่มโค้ดต่อไปนี้ลงไป:

// ... แทนที่จะบรรทัดนี้ ให้ใส่โค้ดตัวนับ... .

ปลั๊กอิน Exec-PHP อยู่ในพื้นที่เก็บข้อมูลและติดตั้งผ่านเมนูในแผงผู้ดูแลระบบของกลไก

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

หากต้องการแทรกโค้ด PHP ลงในบทความ จะต้องเปลี่ยนเป็นโหมด HTML (แท็บข้อความ) โหมดภาพมักจะทำให้โค้ดเสีย

การรันโค้ด PHP ในบทความ WordPress โดยไม่ต้องใช้ปลั๊กอิน

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

วิธีการใช้งานฟังก์ชั่นด้านล่างนี้

  • เราวางมันลงในไฟล์ function.php ของธีม
  • ในตำแหน่งที่ถูกต้องในบทความเราแทรกโครงสร้าง - โค้ดที่ปฏิบัติการได้โดยไม่ต้องใช้
  • การทำงาน:

    /* การรัน php ในบทความและหน้า WordPress: code */ function start_php($matches)( eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $inline_execute_output ; ) ฟังก์ชัน inline_php($content)( $content = preg_replace_callback("/\((.|\n)*?)\[\/startphp\]/", "start_php", $content); $content = preg_replace( "/\((.|\n)*?)\[\/startphp\]/", "$1", $content); ส่งคืน $content; ) add_filter("the_content", "inline_php");

    ตำหนิ

    หากโค้ด PHP ที่แทรกมีการแทรกหรือข้อความ HTML จะไม่ทำงาน จะต้องแทรกข้อความหรือแท็กใด ๆ โดยใช้คำสั่ง echo ซึ่งไม่สะดวกเสมอไป นั่นคือโค้ดต้องเป็น PHP ล้วนๆ และมีรูปแบบที่ถูกต้อง 100 รูปแบบ

    ขวา

    Echo "นี่คือวิธีการทำงาน";

    ผิด

    Echo "บรรทัดนี้ถูกต้อง"; มันจะไม่ทำงานเช่นนั้น

    ไม่มีปัญหาดังกล่าวในปลั๊กอิน Exec-PHP - ทั้งข้อความและ HTML จะถูกดำเนินการ แต่องค์ประกอบทั้งหมดของโค้ด PHP จะต้องอยู่ในกรอบแท็กที่เหมาะสม

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

    ปลั๊กอินเป็นวิธีหนึ่งในการขยายฟังก์ชันการทำงานของแอปพลิเคชันโดยไม่ต้องเปลี่ยนซอร์สโค้ด

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

    รองรับหลายภาษา

    • การแปลปลั๊กอินจะดำเนินการในลักษณะที่คล้ายกันโดยสิ้นเชิงกับการแปลแอปพลิเคชัน (เอกสารประกอบ) ในโฟลเดอร์ locale คุณควรวางไฟล์การแปล *.po และ *.mo และรวมคีย์ต่างๆ ไว้ในโค้ดดังนี้:
    • _wp("string") ใน PHP (แทนที่จะใช้เมธอด _w() ซึ่งใช้ได้กับการแปลแอปพลิเคชันเท่านั้น คุณควรใช้เมธอด _wp() ซึ่งจะโหลดการแปลปลั๊กอิน)

    [`string`] ในเทมเพลต Smarty (ไม่แตกต่างจากการแปลแอปพลิเคชันที่นี่)

    ชื่อและคำอธิบายของปลั๊กอิน (ชื่อและคำอธิบายในไฟล์กำหนดค่า) ได้รับการแปลโดยใช้การแปลปลั๊กอินเริ่มต้น ดังนั้นจึงไม่จำเป็นต้องระบุ "name" => _wp("PLUGIN NAME") - เพียงระบุ "name" = > "ชื่อปลั๊กอิน" .

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

    Class appMyPlugin ขยาย waPlugin ( public static function displayData() ( //ในทั้งสองบรรทัดระบุ ID ของแอปพลิเคชันและปลั๊กอินของคุณ waLocale::loadByDomain(array("app_id", "plugin_id")); waSystem::pushActivePlugin("plugin_id ", " app_id"); $result = _wp("..."); waSystem::popActivePlugin(); return $result; ) )

    ฐานข้อมูล

    หากปลั๊กอินใช้ตารางของตัวเองในฐานข้อมูล ชื่อตารางควรเริ่มต้นด้วยส่วนย่อยเช่น __ เช่น: ร้านค้า_ebay_ชื่อตาราง

    กำลังเชื่อมต่อปลั๊กอิน

    เพื่อให้ปลั๊กอินที่เขียนใช้งานได้ คุณต้องเชื่อมต่อปลั๊กอินนั้นในไฟล์การกำหนดค่าระบบแอปพลิเคชัน wa-config/apps/APP_ID/plugins.php โดยเพิ่มบรรทัดเข้าไป:

    "plugin_id" => จริง

    ตัวอย่างของไฟล์นี้สำหรับแอปพลิเคชัน Blog (wa-config/apps/blog/plugins.php):



     


    อ่าน:



    จะทำอย่างไรถ้าคุณพัฒนาแบบออฟไลน์

    จะทำอย่างไรถ้าคุณพัฒนาแบบออฟไลน์

    ในที่สุดเธอก็ไปเยี่ยมชมตลาดเกมคอมพิวเตอร์ โดยส่องสว่างด้วยแสงจากสัตว์ประหลาดเอเลี่ยนและปืนไฮเทค แน่นอนว่าเป็นเรื่องไม่ธรรมดาเช่นนี้...

    การทดสอบโปรเซสเซอร์ว่ามีความร้อนสูงเกินไป

    การทดสอบโปรเซสเซอร์ว่ามีความร้อนสูงเกินไป

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

    บริการสาธารณะของ Yesia คืออะไร

    บริการสาธารณะของ Yesia คืออะไร

    ไปเป็นวันที่ไม่สามารถรับบริการของรัฐหรือเทศบาลได้หากไม่ได้ไปพบผู้บริหารเป็นการส่วนตัว...

    ตำแหน่งของหัวบนเสาอากาศ

    ตำแหน่งของหัวบนเสาอากาศ

    บทความนี้เปิดเผยวิธีการหลักในการกำหนดราบโดยใช้เข็มทิศแม่เหล็กและสถานที่ที่เป็นไปได้ การใช้งาน...

    ฟีดรูปภาพ อาร์เอสเอส