প্লাগইনগুলিতে প্রবেশ করা


12

আমি এমন একটি প্লাগইনে কাজ করছি যা কোনও ব্যবহারকারী যখন ভিন্ন প্লাগইনটির মাধ্যমে কিছু করে তখন আদর্শভাবে জিনিসগুলি করতে সক্ষম হবে ।

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

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

আমাদের কী আরও চেষ্টা করা এবং আরও ভাল প্লাগইন বিকাশকারী হওয়া দরকার যাতে আমরা সকলে একসাথে সুন্দর খেলতে পারি?


1
দুর্দান্ত প্রশ্ন!
মাইকচিন্কেল 21 '45

"লেখককে কাস্টম হুক অন্তর্ভুক্ত করার একমাত্র আসল সমাধান যাতে অন্য বিকাশকারীরা তাদের কাজ শেষ করতে পারে?" বেশিরভাগ ক্ষেত্রে, হ্যাঁ কিছু নির্দিষ্ট পরিস্থিতি রয়েছে যেখানে আপনি তাদের প্লাগইনকে অপ্রত্যক্ষভাবে পরিচালনা করতে পারেন তবে এটি সাধারণত হয় না। তাদের প্লাগইনগুলি লিখতে বলুন যেমন তারা ওয়ার্ডপ্রেস মূলের জন্য লিখছেন - যেখানেই প্রয়োজন যেখানেই ফিল্টার / ক্রিয়া অন্তর্ভুক্ত করুন।
ভাইপার007বোন

1
ইঙ্গিত: আপনার প্লাগইনটি যে হুকগুলি সরবরাহ করে তা দস্তাবেজ করুন যাতে অন্য প্লাগইন লেখকরা এটির সাথে ইন্টারঅ্যাক্ট করতে পারে।
hakre

উত্তর:


6

@ রায়ান এলকিন্স:

আমি অনুমান করি উত্তরটি প্রতিটি ব্যবহার-ক্ষেত্রে আপনার কাছে কীভাবে আমদানি করে তার উপর নির্ভর করে। কিছু ক্ষেত্রে এটি আপনার দ্রুত এবং ময়লা প্রয়োজন এমন কিছু হতে পারে, অন্যথায় এটি আরও উল্লেখযোগ্য ব্যবহারের ক্ষেত্রে হতে পারে। এখানে দুটি জিনিস মনে আসে:

ওয়ার্ডপ্রেস কোরের মধ্যে বিকল্প হুক্স সন্ধান করুন

যদি এটি দ্রুত এবং নোংরা কিছু হয় তবে আপনি যা প্রয়োজন তা সংশোধন করতে কোর থেকে অন্য প্রবাহের হুকগুলি ব্যবহার করতে পারেন, বা ob_start()/ ob_end_clean()( @ টড পার্কিন্স উত্তর " প্লাগইন কোডের মাধ্যমে বড় এইচটিএমএল আউটপুট নিয়ে কাজ করার" জবাব দিয়ে দেখুন ) একটি কোড উদাহরণের জন্য।)

আপনি যে হুকগুলি ব্যবহার করতে পারেন তা সন্ধান করতে আপনি গতকাল পোস্ট করা ইনস্ট্রুমেন্ট হুকস প্লাগইনটি পরীক্ষা করে দেখতে পারেন যে আপনি সম্ভবত যে হুকগুলি ব্যবহার করতে পারেন তা সন্ধান করতে সহায়তা করে।

প্লাগিন বিকাশকারীকে আপনার পছন্দসই হুকের সাথে একটি প্যাচ জমা দিন

আপনার ব্যবহারের কেসটি যদি আপনার বা সম্প্রদায়ের কাছে বেশি তাৎপর্যপূর্ণ হয় তবে আমি আপনাকে এগিয়ে যাওয়ার পরামর্শ দিন এবং আপনার যে হুকটি প্লাগ ইন করতে হবে তা যুক্ত করার পরামর্শ দেব। তারপরে এটি নিশ্চিতভাবে পরীক্ষা করুন যাতে এটি আপনার ব্যবহারের ক্ষেত্রে সত্যই সম্বোধিত হয় যার পরে আপনি প্লাগইন বিকাশকারীকে এই আশা প্রকাশ করেন যে তিনি সে প্রয়োগ করবেন। এইভাবে আপনি তাদের পরীক্ষিত কোড দিয়ে তাদের পক্ষে এটি যতটা সম্ভব সহজ করে তুলুন এবং এটি আপনার প্রয়োজনীয় যা সত্য তা নিশ্চিত করার জন্য আপনি নিজেই ইউস-কেসের মাধ্যমে কাজ করতে পারেন। আমি আপনাকে কতবার বলতে পারি না যে আমি প্রথমে একটি হুকের প্রয়োজন ছিল তা প্রয়োগ করার চেষ্টা করার পরে কেবল একটি নির্দিষ্ট হুকের প্রয়োজন হয়েছিল যা আমি প্রথমে কল্পনা করেছিলাম তার চেয়ে আলাদা ছিল।

আপনি যদি এখানে কোনও প্যাচ তৈরির সাথে পরিচিত না হন তবে প্যাচিং ওয়ার্ডপ্রেস কোর সম্পর্কিত একটি ভাল নিবন্ধ যা বেশিরভাগ ক্ষেত্রে প্যাচিং প্লাগইনগুলির ক্ষেত্রে প্রযোজ্য এবং যার জন্য এটি প্রত্যাশিতভাবে কী করা উচিত তা স্পষ্ট হবে:

আশাকরি এটা সাহায্য করবে?

পিএস একটি জিনিস আমি কিছুটা হতাশাবোধ করি এবং আপনার প্রশ্নের ঠিকানাগুলি হ'ল প্লাগইনগুলির শতাংশ যেগুলি কেবল শেষ ব্যবহারকারীদের জন্য ডিজাইন করা হয়েছে, যার নিজস্ব কোনও হুক নেই। ভাবুন যদি ওয়ার্ডপ্রেসটি বেশিরভাগ প্লাগইনের মতো নকশাকৃত হয়? এটি জটিল এবং খুব কুলুঙ্গিক সমাধান হবে।

ওয়ার্ডপ্রেসের অন্য প্লাগইনগুলির উপর নির্ভরশীল এমন প্লাগইনগুলি স্বয়ংক্রিয়ভাবে ইনস্টল করার ক্ষমতা থাকতে যদি জিনিসগুলি আলাদা হত? এটি হিসাবে সাধারণত আমি আমার প্রচুর কার্যকারিতা স্ক্র্যাচ থেকে লিখতে হয় কারণ ক্লায়েন্টরা জিনিসগুলি একটি নির্দিষ্ট উপায়ে এবং উপলভ্য প্লাগইন চায় তবে সেখানে 90% আমাকে বাকি 10% আপডেট করার নমনীয়তা দেয় না।

আমি সত্যিই আশা করি যে ওয়ার্ডপ্রেস সম্প্রদায়ের নেতৃত্বদানকারীরা একটি উপায় শনাক্ত করতে পারে তা নিশ্চিত করার জন্য যে প্লাগইনগুলি সর্বোত্তম অনুশীলনগুলি অনুসরণ করার জন্য পুরস্কৃত হয় (যেমন অন্যান্য বিকাশকারীদের জন্য হুক যোগ করা) স্ট্যাক এক্সচেঞ্জ সাইটে ভাল উত্তরগুলির মতো পুরস্কৃত হয়।


2

আমরা শুধু চেষ্টা করতে না এবং করতে ভাল তাই আমরা একসঙ্গে সব খেলার চমৎকার পারেন যে ডেভেলপারদের প্লাগ ইন করা হবে?

শুরু করার জন্য, হ্যাঁ।

লেখককে কাস্টম হুক অন্তর্ভুক্ত করার একমাত্র আসল সমাধান যাতে অন্য বিকাশকারীরা তাদের কাজ বন্ধ করে দিতে পারে?

এটি একটি ভাল সমাধান হবে।

আপনি অন্যান্য প্লাগইন অনুলিপি করতে এবং কোনও পরিবর্তন যুক্ত করতে পারেন, যদিও এটি আরও ঝামেলা হবে।


2

আমি মনে করি আপনি প্রশ্নে আপনার প্রশ্নের উত্তর দিয়েছেন, যাতে এটি কিছুটা বাজে বক্তব্য হয়ে যায়।

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

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

কাস্টম প্লাগইনগুলিতে আরও হুক উপস্থিত থাকলে এটি সম্প্রদায়ের উপকারে আসবে, তবে আপনি যেমন বলছেন, কখন / যেখানে আপনার প্রয়োজন হবে সেখানে হুক যুক্ত করার সহজ উপায় নেই।

আপনি যে টুইটার প্লাগইনটি intoুকতে চান, সেটির ক্ষেত্রে লেখককে একটি ইমেল প্রেরণ করুন, আমি নিশ্চিত যে সেগুলি আপনার জন্য যুক্ত করে তিনি খুশি হবেন।

আপনার প্লাগিনে একটি হুক toুকানোর জন্য যদি আপনার মনে হয় এমন কোনও জায়গা হয় তবে এটি করুন, এবং এটি ভালভাবে নথিভুক্ত করুন। যদি আরও লোকেরা প্লাগিনগুলিতে হুক লাগাতে শুরু করে, বা এটি করার দিকে কোনও সাধারণ চাপ থাকে, তবে শেষ পর্যন্ত এটি ঘটবে।

সুতরাং আপনার শেষ প্রশ্নের উত্তর দিতে:

আমাদের কী আরও চেষ্টা করা এবং আরও ভাল প্লাগইন বিকাশকারী হওয়া দরকার যাতে আমরা সকলে একসাথে সুন্দর খেলতে পারি?

হ্যাঁ.


সম্পাদনা: আমি প্রকৃত প্রশ্ন এবং হুক বাস্তবায়নের সর্বোত্তম উপায় সম্পর্কে আরও কিছু চিন্তা করেছি, আপনি যে কোনও ক্রিয়াকলাপ চালিয়ে যাবেন যা আপনি যদি প্লাগইনটি চালানোর চেষ্টা করছেন সেই বিশেষ কার্য উপস্থিত থাকলে আপনি কি যুক্ত করতে পারবেন না?


এটি কাজ করবে, তবে কোনও ভিন্ন প্লাগইনের ফাংশনটির একই নাম থাকলে কী হবে?
অ্যারলান বেলারর

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

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

0

একটি ফাংশন সংজ্ঞায়িত:

function my_footer() {
    do_action('my_footer');
}

এখন আপনি এই হুকটি আঁকতে পারেন: add_action('my_footer', 'example_function', 1);# আরও তথ্য আমার পোস্টে দেখুন


না => এখন, এটি নিজস্ব => এটি। সঠিক?
অ্যারলেন বেলারর

আমি বুঝতে পারি কীভাবে কাস্টম হুক যুক্ত করতে হয় - প্রশ্নটি হল অন্যের প্লাগইনটি কীভাবে হুক করা যায়, আদর্শভাবে এমন একটি উপায়ে যাতে তাদের প্লাগইনটির সরাসরি পরিবর্তনের প্রয়োজন হয় না।
রায়ান এলকিনস

@ অ্যারলেন: অনেক ধন্যবাদ, আমার খারাপ ইংরেজির জন্য দুঃখিত @ রায়ান: প্লাগইনটিতে একটি হুক না থাকলে এটি সম্ভব হয় না; কিন্তু লেখক তার প্লাগইনটিতে এটি জিজ্ঞাসা করলে আপনি ফাংশন বা শ্রেণি প্রতিস্থাপনের জন্য পরীক্ষা করতে পারেন। তবে অন্যান্য প্লাগইন হিসাবে ডাব্লুপি এর আগে সক্রিয় প্লাগইনগুলির জন্য অনুরোধ করা এবং তার ফাংশনটি প্রতিস্থাপন করা সম্ভব।
বেল্টেজ করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.