উত্তর:
আমি কিছু ওয়েব অ্যাপ্লিকেশনগুলিতে এটি এটি করেছি:
function run_activate_plugin( $plugin ) {
$current = get_option( 'active_plugins' );
$plugin = plugin_basename( trim( $plugin ) );
if ( !in_array( $plugin, $current ) ) {
$current[] = $plugin;
sort( $current );
do_action( 'activate_plugin', trim( $plugin ) );
update_option( 'active_plugins', $current );
do_action( 'activate_' . trim( $plugin ) );
do_action( 'activated_plugin', trim( $plugin) );
}
return null;
}
run_activate_plugin( 'akismet/akismet.php' );
activate_plugin()
, এবং এটি একই কাজ করে বলে মনে হচ্ছে।
প্লাগিন অ্যাক্টিভেশন প্রক্রিয়া ডাব্লুপি অ্যাডমিন ইন্টারফেসের সাথে কাজ করার জন্য কোডেড। এটি ত্রুটিযুক্ত প্লাগইনগুলি সক্ষম করা রোধ করতে কিছু পরীক্ষা করে (শুরুতে লোড করা ডাব্লুপি ভেঙে দেয়)।
এটি activate_plugin()
ফাংশন ( উত্স ) দ্বারা পরিচালিত হয় যা অন্য কোথাও অপ্রয়োজনীয় হিসাবে নথিভুক্ত।
সুতরাং আপনি কোড দ্বারা প্লাগইন সক্রিয় করতে চাইলে লক্ষ্যটি নিজেই তুলনামূলকভাবে সহজ - active_plugins
সেই প্লাগইনটি অন্তর্ভুক্ত করার বিকল্প পরিবর্তন করতে। তবে আপনাকে স্ক্র্যাচ থেকে সম্পর্কিত অ্যাক্টিভেশন হুকগুলি পুনরায় তৈরি করতে হবে এবং স্যান্ডবক্স ধাপ ছাড়াই সক্রিয়করণের মাধ্যমে ব্রেকিং সাইটটি ঝুঁকিপূর্ণ হবে।
প্লাগইনগুলি 'সক্রিয়_প্লাগিনস' বিকল্পে একটি অ্যারেতে সঞ্চয় করা হয়। অ্যারেটিতে প্রতিটি প্লাগইন সক্রিয় থাকা ফাইল পাথ থাকে।
একটি প্লাগইন সক্রিয় করতে আপনাকে এটির পথটি কী হবে তা নির্ধারণ করতে হবে, তারপরে সেই পথটি পাস করুন activate_plugin($plugin_path)
।
যদিও এটি করা হয়েছে তার চেয়ে সহজ, এবং (কমপক্ষে ২.৯-এ) মূল কোডটি সহজ করে না।
আপনি প্লাগইন () সক্রিয় করার আগে আপনার প্লাগইন.এফপি ফাইলটি ডাব্লুপি-অ্যাডমিন / অন্তর্ভুক্ত / থেকে অন্তর্ভুক্ত করতে হবে। আপনার প্লাগইন ইতিমধ্যে সক্রিয় নেই তা নিশ্চিত করার জন্য আপনারও পরীক্ষা করা উচিত। ফলাফলটি এরকম কিছু দেখাচ্ছে (ওয়াইএমএমভি):
// Define the new plugin you want to activate
$plugin_path = '/path/to/your/new/plugin.php';
// Get already-active plugins
$active_plugins = get_option('active_plugins');
// Make sure your plugin isn't active
if (isset($active_plugins[$plugin_path]))
return;
// Include the plugin.php file so you have access to the activate_plugin() function
require_once(ABSPATH .'/wp-admin/includes/plugin.php');
// Activate your plugin
activate_plugin($plugin_path);
আমি এটি ডাব্লুপি ২.৯-এ উত্পাদনে ব্যবহার করি এবং কোনও বড় সমস্যা হয়নি তবে আমার পরীক্ষায় এটি ডাব্লুপিএমইউর সাথে খুব অপ্রত্যাশিত ফলাফল পেয়েছে, তাই নেটওয়ার্ক ইনস্টলগুলিতে এটি ব্যবহার করে সাবধান থাকুন।
ডাব্লুপি কোডেক্স অনুসারে ওয়ার্ডপ্রেস প্লাগইনগুলি সক্রিয় করার জন্য একটি ফাংশন সরবরাহ করে
function plugin_activation( $plugin ) {
if( ! function_exists('activate_plugin') ) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
if( ! is_plugin_active( $plugin ) ) {
activate_plugin( $plugin );
}
}
plugin_activation('akismet/akismet.php');
আপনি কেবল ওয়ার্ডপ্রেস ডিফল্ট ফাংশন কল করতে পারেন।
activate_plugin('akismet/akismet.php');
আরও বিস্তারিত জানার জন্য নীচের লিঙ্কটি চেক করুন।