วิธีที่เหมาะสมในการปรับเปลี่ยนปลั๊กอิน


15

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


1
ตรวจสอบ"ขยายโดยไม่ต้องแก้ไข" ฉันคิดว่านี่เป็นทางออกที่ดีกว่าจริง ๆ ตรวจสอบลิงค์นี้เพื่อดูรายละเอียด - วิธีที่ถูกต้องในการปรับแต่งปลั๊กอิน WordPress
Eugine Joseph

คำตอบ:


7

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

การสร้าง "ปลั๊กอินสำหรับเด็ก" ไม่ใช่เรื่องง่าย ว่า "เด็กธีม" แนวคิดจริงๆนำไปใช้กับแฟ้มแม่แบบที่ได้รับการใช้ moreso กว่าฟังก์ชั่นรูปแบบ (และในความเป็นจริงfunctions.phpไฟล์จากทั้งผู้ปกครองและเด็กได้รับการโหลดซึ่งไม่ทำให้เกิดปัญหาสำหรับรหัสไม่ถูกต้องfunctions.phpไฟล์ได้ทั้งในเด็กหรือผู้ปกครอง Theme)


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

แต่ฟอร์กนั้นเป็นสิ่งที่คุณกำลังทำอยู่แล้ว โดยพื้นฐานแล้วสิ่งเหล่านี้คือตัวเลือกของคุณ: fork หรือ patch @Chris_O มอบวิธีที่ดีในการดึงการอัปเดตอัตโนมัติจากอัปสตรีมในขณะที่ยังคงปลั๊กอินที่แยกไว้ของคุณ
Chip Bennett

7

เห็นได้ชัดว่า "ถูกต้อง" ขึ้นอยู่กับปลั๊กอิน ปลั๊กอินบางตัวสามารถแก้ไขได้ง่ายกว่าปลั๊กอินอื่น แต่ปลั๊กอินส่วนใหญ่สามารถแก้ไขได้โดยปลั๊กอินอื่น

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

แนวคิดเดียวกันนี้ทำงานกับตัวกรองได้อย่างชัดเจน


4

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

<?php
/*
Plugin Name: Name Of The Plugin
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: A brief description of the Plugin.
Version: The Plugin's Version Number, e.g.: 1.0
Author: Name Of The Plugin Author
Author URI: http://URI_Of_The_Plugin_Author
License: A "Slug" license name e.g. GPL2
*/
?>

สิ่งนี้ยังคงต้องผ่านปลั๊กอินเวอร์ชันใหม่เพื่อค้นหาการเปลี่ยนแปลง (ฉันคิดว่าเครื่องมือเปรียบเทียบรุ่นจะช่วยได้) แล้วคัดลอกการเปลี่ยนแปลงเหล่านั้นไปยังปลั๊กอินที่กำหนดเองของฉัน ฉันคิดว่าฉันสามารถดาวน์โหลดปลั๊กอินและใช้ SVN เพื่อรวมการเปลี่ยนแปลงกับรุ่นที่กำหนดเองของฉัน
Mike Wheaton

2
มีลิงก์โดยตรงไปยังไฟล์ diff บนลิงค์บันทึกการพัฒนาบนหน้าปลั๊กอิน ตัวอย่างเช่นที่นี่ต่างจากW3 Total Cache
Chris_O

3

สิ่งนี้ค่อนข้างง่ายหากปลั๊กอินอยู่ภายใต้การควบคุมแหล่ง Git เนื่องจากลักษณะการกระจายของ Git แต่ปลั๊กอิน WordPress จำนวนมาก (และปลั๊กอินทั้งหมดในพื้นที่เก็บข้อมูลอย่างเป็นทางการ) อยู่ในการโค่นล้ม ฉันจะใช้สาขาของผู้ขายและ svn_load_dirs.php ถ้าฉันจริงๆต้องปรับเปลี่ยนปลั๊กอิน แต่นี้ต้องมีระดับความสะดวกสบายสูงพอสมควรกับการโค่นล้ม

หากปลั๊กอินไม่มีที่เก็บข้อมูลฉันขอแนะนำให้เปลี่ยนเป็นที่เก็บ Git ด้วยตนเองและใช้เวอร์ชันใหม่ด้วยตนเอง

ในที่สุดระบบควบคุมเวอร์ชันเป็นวิธีเดียวที่จะเปลี่ยนการอัปเดตเวอร์ชันอัปสตรีมใหม่ได้


3

ฉันเห็นด้วยกับคำตอบของ Annika Backstromแต่ฉันต้องการแบ่งปันโซลูชันที่ฉันต้องการ

เนื่องจากปลั๊กอินส่วนใหญ่อยู่ภายใต้ svn ฉันจึงใช้เครื่องมือที่เรียกว่า git-svn เพื่อสร้าง git mirror

จากนั้นฉันเพิ่งสร้างสาขาและยอมรับการเปลี่ยนแปลงที่นั่น

เมื่อปลั๊กอินอัปเดตอัปสตรีมฉันเพิ่งดึงจาก svn repo และรวมเข้ากับสาขาที่กำหนดเองของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.