ওয়ার্ডপ্রেসে প্লাগইনগুলি কোন ক্রমে লোড হয়?
এবং একটি নির্দিষ্ট প্লাগইন ফোল্ডারের মধ্যে, লোডিংয়ের জন্য কোন আদেশ অনুসরণ করা হয়?
ওয়ার্ডপ্রেসে প্লাগইনগুলি কোন ক্রমে লোড হয়?
এবং একটি নির্দিষ্ট প্লাগইন ফোল্ডারের মধ্যে, লোডিংয়ের জন্য কোন আদেশ অনুসরণ করা হয়?
উত্তর:
ইন wp-settings.php
, ওয়ার্ডপ্রেস প্রথমে কোনও অবশ্যই ব্যবহারযোগ্য প্লাগইন ( mu-plugins
folder চ্ছিক ফোল্ডারে প্লাগইন ) পরীক্ষা করে এবং সেগুলি লোড করে।
তারপরে, আপনি যদি কোনও মাল্টিসাইট ইনস্টলেশন চালাচ্ছেন তবে এটি নেটওয়ার্ক-সক্রিয় হওয়া প্লাগইনগুলির জন্য যাচাই করে এবং সেগুলি লোড করে।
তারপরে এটি ডাটাবেস টেবিলের active_plugins
এন্ট্রি দেখে অন্য সমস্ত সক্রিয় প্লাগইনগুলির জন্য পরীক্ষা করে wp_options
এবং এর মাধ্যমে লুপ করে। প্লাগইনগুলি বর্ণানুক্রমিকভাবে তালিকাভুক্ত করা হবে।
এখানে অর্ডারটি ওয়ার্ডপ্রেস বেশ কিছুটা বোঝায় : http://codex.wordpress.org/ ক্রিয়াকলাপ_সূত্র # ক্রিয়া_রুন_ডুরিং_আ_টাইপিকাল_উইকুইয়েস্ট
বিষয়টি হ'ল, প্রতিটি স্বতন্ত্র প্লাগইন কী অর্ডে অর্ডার করা হয় তা বিবেচ্য নয়, কারণ সঠিকভাবে লিখিত প্লাগইনগুলি ওয়ার্ডপ্রেস হুক ব্যবহার করবে, যা আপনাকে ওয়ার্ডপ্রেস স্টার্টআপের পরে নির্দিষ্ট পয়েন্টগুলিতে কার্যকারিতা প্লাগ করতে দেয়। (যথাযথভাবে লিখিত প্লাগইনগুলি তাদের ফাংশন এবং ক্লাসগুলির উপসর্গ তৈরি করবে যাতে কোনও বিবাদ না ঘটে))
প্লাগইন এপিআই সম্পর্কে আরও তথ্য: http://codex.wordpress.org/ প্লাগইন_এপিআই /
সম্পূর্ণরূপে প্লাগইন উপর নির্ভর করে। ওয়ার্ডপ্রেস কেবলমাত্র প্লাগইনে একটি ফাইল লোড করে, সাধারণত একটি নাম দেওয়া হয় the-plugin-name.php
এবং শীর্ষে শিরোনাম, বিবরণ, লেখক ইত্যাদি থাকে। এটির বাকী ফাইলগুলি লোড করার জন্য, প্লাগিনটি আপ require_once
এবং ব্যবহার করা wp_enqueue_script
এবং কী নয় not
apply_filters()
একটি হুক তৈরি করতে ব্যবহার করে add_filter()
, তবে যে প্লাগইন ব্যবহার করে তার আগে চলে তবে তা কি এখনও কাজ করবে? যৌক্তিকভাবে, মনে হচ্ছে এটি apply_filters()
ইতিমধ্যে বরখাস্ত হয়ে গেছে, তাই add_filter()
দ্বিতীয় প্লাগইনে কলগুলি কিছুই করবে না। কেবলমাত্র প্লাগইন-তৈরি হুক ব্যবহার করার সময় প্লাগইনগুলি ক্রম লোড হওয়ার ক্ষেত্রে কী বিষয় বিবেচনা করে?
apply_filters()
চালায় লোড হয়েছে । add_filter()
আগে চালাতে হবে apply_filters()
। যদি add_filter()
কোনও প্লাগইন ফাইলে থাকে এবং অন্য কোনও ফাংশনে না থাকে তবে এটি plugins_loaded
হুকের উপর দৌড়াবে যা সাধারণত আপনার প্রয়োজনের আগে ঘটবে apply_filters()
।
the_content
- তাদের উপস্থিতির ক্রম কীভাবে নির্ধারিত হয়?
আমি দেখতে পেয়েছি যে আমার প্লাগইনে একটি 'দেরি লোডিং' ক্রিয়া অন্তর্ভুক্ত করা দরকারী যা সমস্ত প্লাগইনগুলি এইভাবে তাদের লোড শেষ করার পরে চলে:
add_action('plugins_loaded', 'my_late_loader');
এর পরে my_late_loader ফাংশনটি অন্য সমস্ত প্লাগইনগুলির পরে শুরু হয়েছিল যা আমাকে আমার নিজস্ব ফাংশনে অন্য প্লাগইনগুলি দ্বারা সংজ্ঞায়িত হুকগুলি ব্যবহার করতে দেয় যা আমার_অর্থ_ফংশান যা আমার_লেট_লোডারের মধ্যে শুরু করা হয়েছে
/**
* Late loading function for actions that must run after all plugins
* have loaded
*/
function my_late_loader(){
add_action( 'some_hook', 'my_other_function', 10, 1);
}
বিট বিভক্ত (আমি জানি), তবে এটি নিশ্চিত করে যে প্লাগইন লোড ক্রম নির্বিশেষে যুক্ত হওয়ার আগে অন্যান্য প্লাগইনগুলিতে হুক তৈরি করা হয়েছে।