Wordpress พิจารณาว่า "ไฟล์ปลั๊กอินหลัก" อย่างไร
มันเป็นไฟล์ในปลั๊กอินของคุณที่มีความคิดเห็นส่วนหัวของปลั๊กอิน
/**
* 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: เป็นเรื่องถูกกฎหมาย / รองรับการมีปลั๊กอินที่มีโครงสร้างเช่นนี้หรือไม่:
ใช่. ทุกโครงสร้างไดเรกทอรี (เท่าที่ได้รับการสนับสนุนโดยเซิร์ฟเวอร์) เป็นกฎหมาย
Q2: ถ้าเป็นเช่นนั้น wordpress จะกำหนดว่าไฟล์ php ใดเป็นไฟล์ปลั๊กอินหลัก
ดูด้านบน↑
Q3: การใช้ไดเรกทอรีย่อย (เช่น inc / ในตัวอย่างข้างต้น) เป็นข้อกำหนดเมื่อโค้ด PHP ครอบคลุมหลายโมดูลหรือไม่?
ต้องการ? ไม่ดีกว่าที่จะอ่าน: ใช่ บำรุงรักษาง่ายกว่า: ใช่
Q4: จริงหรือไม่ที่ควรมีไฟล์สูงสุดหนึ่งไฟล์ php ในไดเรกทอรีปลั๊กอินหลัก
เลขที่
สรุป
วิธีที่คุณจัดระเบียบไฟล์และไดเรกทอรีทั้งหมดขึ้นอยู่กับคุณความชอบส่วนตัวของคุณและไม่มีอะไรอื่น หากคุณต้องการให้ง่ายต่อการบำรุงรักษาและเพื่อให้ผู้พัฒนารายอื่นก้าวไปสู่โค้ดของคุณคุณควรใช้การจัดเรียงไฟล์ / ไดเรกทอรีบางประเภท
ตัวอย่าง
ฉันต่อท้ายเป็นการส่วนตัว.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.
โฟลเดอร์ที่มีชื่อ ฉันขอแนะนำให้ใช้โฟลเดอร์ย่อยสำหรับปลั๊กอินขนาดใหญ่เท่านั้น หากคุณมีสิ่งเพิ่มเติมเช่นวิดเจ็ต ฯลฯ คุณสามารถใช้โฟลเดอร์ย่อยเฉพาะสำหรับพวกเขาได้
คำสุดท้าย:ไม่ไม่มีสิ่งที่คุณพบว่าเป็นความจริงคำแนะนำเหล่านั้น (เช่นเดียวกับที่ฉันแสดงให้คุณ)