ওয়ার্ডপ্রেস কীভাবে "মূল প্লাগইন ফাইল" নির্ধারণ করে?
এটি আপনার প্লাগইনে থাকা ফাইলটিতে প্লাগইন শিরোনাম মন্তব্য রয়েছে
/**
* Plugin Name: A fresh example
* Plugin URI: http://example.com
* Description: Foo makes a bar
* Version: 2012-06-14.1426
* Author: John Doe
* Author URI: http://example.com
* TextDomain: your_textdomain
* License: MIT
* LicenseURI: http://www.opensource.org/licenses/mit-license.php
*/
প্র 1: এই জাতীয় কাঠামোযুক্ত এমন প্লাগইন থাকা কি আইনী / সমর্থিত:
হ্যাঁ. প্রতিটি ডিরেক্টরি কাঠামো (যতক্ষণ না সার্ভার দ্বারা সমর্থিত) আইনী।
প্রশ্ন 2: যদি তা হয় তবে ওয়ার্ডপ্রেস কীভাবে নির্ধারণ করবে যে কোন পিএইচপি ফাইলটি প্রধান প্লাগইন ফাইল?
উপরে দেখুন ↑
প্রশ্ন 3: যখন পিএইচপি কোড একাধিক মডিউল বিস্তৃত করে তখন একটি সাব-ডাইরেক্টরি (যেমন ইনক / উপরের উদাহরণে উদাহরণস্বরূপ) ব্যবহার করা কি প্রয়োজনীয়তা?
প্রয়োজনীয়তা? না। পড়ার জন্য ভাল: হ্যাঁ। বজায় রাখা সহজ: এছাড়াও হ্যাঁ।
প্রশ্ন 4: এটি কি সত্য যে মূল প্লাগইন ডিরেক্টরিতে সর্বোচ্চ এক পিএইচপি ফাইল থাকা উচিত?
না, না।
সংকলিত
আপনি যেভাবে আপনার ফাইল এবং ডিরেক্টরিগুলি সম্পূর্ণরূপে সংগঠিত করছেন তা আপনার ব্যক্তিগত পছন্দ এবং অন্য কিছুই নয়। আপনি যদি নিজের কোড বজায় রাখা এবং অন্যান্য বিকাশকারীদের পক্ষে আপনার কোডটি ধরে রাখা আরও সহজ করতে চান তবে আপনার কোনও ধরণের ফাইল / ডিরেক্টরি সংস্থার ব্যবহার করা উচিত।
উদাহরণ
আমি ব্যক্তিগতভাবে .class.php
এক্সটেনশন হিসাবে সংযোজন করেছি, যখন আমি এতে একটি ক্লাস পেয়েছি। আমি আমার ফাইলগুলি ঠিক ক্লাসের মতোই নামকরণ করি। কারণটি সহজ: আমার "প্রধান প্লাগইন ফাইল" - যা আমার bootstrap
ক্লাস, সাধারণত প্রয়োজনীয় সমস্ত জিনিস লোড করার বিষয়ে যত্নশীল।
// inside my PREFIX_bootstrap class:
public static $includes = array(
'settings' => false // Parent class - no need to hook
,'settings_extended' => true // Extending class - hooks static init() on `init` hook
);
public function construct()
{
// The prefix for every class in my plugin
$prefix = 'my_class_prefix_';
foreach ( $this->files as $handle => $hook )
{
require_once plugin_dir_path( __FILE__ )."{$handle}.class.php";
if ( ! $hook )
continue;
$class = $prefix.$handle;
class_exists( $class ) AND add_action( 'init', array( $class, 'init' ), 1 );
}
}
এর অর্থ হল আমার ক্লাস এবং ফাইলগুলির নাম নীচের মতো করা হয়েছে:
settings.class.php
এবং settings_extended.class.php
my_class_prefix_settings
এবং my_class_prefix_settings_extended
আমি কিছু বুনিয়াদি ডিরেক্টরি সংস্থাও করি, যেমন js/css/img
নামের মতো ডিরেক্টরিগুলিতে সমস্ত ফাইল সঞ্চয় করে ।
কিছু লোক (বড় প্লাগইনের জন্য) নামযুক্ত ফোল্ডারগুলি ব্যবহার করে inc/includes/assets/extensions/lib/etc.
। আমি কেবলমাত্র বড় প্লাগইনগুলির জন্য সাবফোল্ডার ব্যবহার করার পরামর্শ দেব। আপনি যদি উইজেট ইত্যাদির মতো অতিরিক্ত জিনিস পেয়ে থাকেন তবে আপনি তাদের জন্য নির্দিষ্ট সাবফোল্ডার ব্যবহার করতে পারেন।
শেষ শব্দ: না, আপনি যা কিছু পেয়েছেন তা সত্য নয় , সেগুলি (আমি আপনাকে যে জিনিস দেখিয়েছি তার মতো) কেবলমাত্র সুপারিশ।