প্লাগইন পরিবর্তন করার উপযুক্ত উপায়


15

প্লাগইন পরিবর্তন করার সর্বোত্তম উপায় কী? আমি প্রায়শই একটি বড় প্লাগইন এর মধ্যে এক বা দুটি ফাংশনে ছোট পরিবর্তন করতে চাই। এটি সহজেই সম্পন্ন হয়েছে তবে আমার পরিবর্তনগুলি চিহ্নিত করতে এবং আপডেটের পরে প্লাগইনটি আবার পরিবর্তন করতে আমার মন্তব্য ব্যবহার করতে হবে। আদর্শভাবে আমি প্লাগইনটি একা ছেড়ে অন্য কোথাও আমার পরিবর্তনগুলি করতে চাই, যেমন আমরা থিম এবং শিশু থিমগুলি করি do আমি কি এমন প্লাগইন তৈরি করতে পারি যার জন্য প্যারেন্ট প্লাগইন প্রয়োজন এবং এটি ওভাররাইড করবে?


1
"পরিবর্তন না করে প্রসারিত করুন " এ চেক করুন । আমি বিবেচনা করি এটি ব্যবহারিকভাবে আরও ভাল সমাধান। বিশদ জন্য এই লিঙ্কটি দেখুন - একটি ওয়ার্ডপ্রেস প্লাগইন কাস্টমাইজ করার সঠিক উপায়
Eugine জোসেফ

উত্তর:


7

আইএমএইচও, আপনার পরিবর্তনগুলি বজায় রাখতে প্লাগইনকে কাঁটাচামচ করা বা অন্যথায় আপনার পরিবর্তনগুলি মূল প্লাগিনের একটি অংশ তৈরি করার জন্য প্লাগিন বিকাশকারীকে প্যাচগুলি জমা দেওয়া সর্বোত্তম পন্থা।

একটি "চাইল্ড প্লাগইন" তৈরি করা সত্যিই সহজ নয়। "চাইল্ড থিম" ধারণাটি থেম ফাংশনগুলির চেয়ে বেশি ব্যবহৃত টেমপ্লেট ফাইলগুলিতে প্রয়োগ হয় (এবং প্রকৃতপক্ষে, functions.phpপিতামাতা ও শিশু উভয়েরই ফাইল লোড হয়ে যায়, যা শিশু বা পিতামাতার উভয়তেই ভুলভাবে কোডেড ফাইলগুলির জন্য সমস্যা সৃষ্টি করে)functions.php থিম)।


আমি যে ধরণের পরিবর্তনগুলি করছি তা সাইট-নির্দিষ্ট এবং তাই আমি মনে করি না প্যাচগুলি তৈরি করা বা জমা দেওয়ার পক্ষে উপযুক্ত হবে। প্লাগিনগুলিতে আরও সাধারণ উন্নতির জন্য আমি অবশ্যই তাদের মনে রাখব।
মাইক Wheaton

তবে কাঁটাচামালি হ'ল মূলত আপনি ইতিমধ্যে যা করছেন । মূলত, সেগুলি আপনার বিকল্পগুলি: কাঁটাচামচ বা প্যাচ। আপনার চিড়যুক্ত প্লাগইন বজায় রাখার সময় @ ক্রিস_ও আপ স্ট্রিম থেকে স্বয়ংক্রিয় আপডেটগুলি টানতে সক্ষম হওয়ার জন্য একটি ভাল উপায় দেয়।
চিপ বেনেট

7

"ডান" উপায়টি অবশ্যই প্লাগইনের উপর নির্ভর করে। কিছু প্লাগইন অন্যদের চেয়ে সম্পাদনা করা সহজ, তবে বেশিরভাগ প্লাগইনগুলি অন্য প্লাগইনগুলি দ্বারা সংশোধন করা যায়।

উদাহরণস্বরূপ, যদি কোনও প্লাগইনটিতে কোনও ক্রিয়া সহ ওয়ার্ডপ্রেসে কোনও ফাংশন আঁকানো থাকে, তবে আপনার পক্ষে অন্য একটি প্লাগইন করা সরল_অ্যাকশন সহ যে ফাংশনটিকে অশুচি করে তোলে তা করা আপনার পক্ষে সহজ বিষয় এবং তার পরিবর্তে আপনার প্রতিস্থাপন ফাংশন যুক্ত করে। এই ধরণের পদ্ধতি আপনাকে প্লাগিনগুলিতে মূল প্লাগইনটি পরিবর্তন না করে আপনার নিজস্ব পরিবর্তিত সংস্করণগুলির সাথে পৃথক ফাংশনগুলি প্রতিস্থাপন করতে দেবে।

একই ধারণা ফিল্টারগুলির সাথে স্পষ্টতই কাজ করে।


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
*/
?>

এটির জন্য এখনও পরিবর্তনগুলি খুঁজে পেতে প্লাগিনের নতুন সংস্করণগুলি অতিক্রম করা প্রয়োজন (আমি মনে করি কোনও সংস্করণ তুলনা সরঞ্জাম সাহায্য করবে) এবং তারপরে আমার কাস্টম প্লাগইনে এই পরিবর্তনগুলি অনুলিপি করতে হবে। আমি মনে করি যে আমি প্লাগইনটি ডাউনলোড করতে পারি এবং আমার কাস্টম সংস্করণে পরিবর্তনগুলি মার্জ করতে এসভিএন ব্যবহার করতে পারি।
মাইক Wheaton

2
প্লাগইন পৃষ্ঠায় বিকাশ লগটিতে ডিফ ফাইলের সরাসরি লিঙ্ক রয়েছে। উদাহরণস্বরূপ, এখানে
ডাব্লু

3

গিটের বিতরণ প্রকৃতির কারণে প্লাগইনটি গিট উত্স নিয়ন্ত্রণে থাকলে অপেক্ষাকৃত সহজ, তবে অনেকগুলি ওয়ার্ডপ্রেস প্লাগইন (এবং সমস্ত সরকারী ভাণ্ডারে থাকা সমস্ত) সাবভারশনে রয়েছে। আমার যদি সত্যই কোনও প্লাগইন পরিবর্তন করতে হয় তবে আমি বিক্রেতার শাখা এবং svn_load_dirs.php ব্যবহার করি তবে এর জন্য সাবভার্সনের সাথে যুক্তিসঙ্গত উচ্চ আরামের স্তর প্রয়োজন requires

প্লাগইনটি যদি কোনও সংগ্রহস্থল উন্মোচিত না করে তবে আমি নিজে এটিকে একটি গিট সংগ্রহস্থলে পরিণত করতে এবং ম্যানুয়ালি নতুন সংস্করণ প্রয়োগ করার পরামর্শ দেব

শেষ অবধি, সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলি নতুন প্রবাহের সংস্করণগুলিতে পরিবর্তনগুলি পুনরায় প্রয়োগ করার একমাত্র বুদ্ধিমান উপায়।


3

আমি আনিকা ব্যাকস্ট্রমের উত্তরের সাথে একমত , তবে আমি আমার পছন্দসই সমাধানটি ভাগ করতে চাই।

যেহেতু বেশিরভাগ প্লাগইন এসএনএন এর অধীনে রয়েছে, আমি গিট মিরর তৈরি করতে গিট-এসএনএন নামে একটি সরঞ্জাম ব্যবহার করি।

তারপরে, আমি কেবল একটি শাখা তৈরি করেছি এবং সেখানে আমার পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ।

প্লাগইনটি যখন প্রবাহে আপডেট করা হয়, আমি কেবল এসএনএন রেপো থেকে টানতে এবং আমার কাস্টম শাখায় মার্জ করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.