wp-content / install.php เป็นแบบ Drop-in หรือไม่?


9

ฉันไม่พบเอกสารหรือการสนทนาเกี่ยวกับสิ่งที่และวิธีการใช้ปลั๊กอินดร็อปอิน
คำถามที่ถูกยกขึ้นใน Q นี้ & A เนื้อหาเติมเกี่ยวกับการติดตั้ง

เป็นwp-content/install.phpไฟล์ที่นิยามใหม่ของฟังก์ชั่น pluggable wp_install_defaultsแบบหล่นในปลั๊กอินหรือไม่?

ผลการวิจัยของฉัน

รายการต่อไปนี้จากบทความของ hakre (ซึ่งน่าจะเป็นที่มาของชุดอื่น ๆ ทั้งหมดใน interwebs)

File                Type of Plugin                          Loaded                          Context
advanced-cache.php  Advanced caching plugin.                on WP_CACHE value               Single
db.php              Custom database class                   always                          Single
db-error.php        Custom database error message           on error                        Single
install.php         Custom install script                   on install                      Single
maintenance.php     Custom maintenance message              on maintenance                  Single
object-cache.php    External object cache                   always                          Single
sunrise.php         Executed before Multisite is loaded     on SUNRISE value                Multi
blog-deleted.php    Custom blog deleted message             on deleted blog                 Multi
blog-inactive.php   Custom blog inactive message            on inactive blog                Multi
blog-suspended.php  Custom blog suspended message           on archived or spammed blog     Multi

Source: Data taken from global function _get_dropins() in wp-admin/includes/plugin.php.

ใน Codex Drop-in ถูกกำหนดเป็น :

ไฟล์ PHP ที่เป็นรูปธรรม


ตอนแรกไม่มีอะไรในรายการ [wp-แฮกเกอร์] และค้นหา "drop-in + wordcamp" ฉันเพิ่งพบสิ่งที่เกี่ยวข้องกับสิ่งที่ฉันเน้น :

จุดเด่นอย่างหนึ่งของ WordPress คือระบบปลั๊กอิน ในการที่จะเกิดขึ้น 2.1 ปล่อยมีน้อยมากที่คุณไม่สามารถทำตามที่หล่นในปลั๊กอิน สิ่งนี้ทำให้ง่ายต่อการใช้ WordPress เป็น CMS และทำให้การปรับแต่งของคุณแยกออกจาก codeline หลัก ซึ่งจะทำให้การอัพเกรดและการบำรุงรักษาง่ายขึ้น


1
มันไม่ได้เป็นแค่ความหมาย? ไม่ใช่การเป็นเจ้าของภาษาอังกฤษฉันไม่เห็นความแตกต่างโดยนัยระหว่าง "ปลั๊กอินแบบหล่นใน" และ "ปลั๊กอิน"
Mark Kaplun

@ MarkKaplun: ไม่ไม่มันไม่เกี่ยวกับความหมาย คำถามอยู่ในประโยคที่ 3: เป็นไฟล์ wp-content / install.php ที่กำหนด [... ]
brasofilo

ฉันไม่ได้สิ่งที่คุณต้องการ คุณรู้อยู่แล้วว่าดรอปอินเป็นไฟล์ที่โหลดเหมือน mu-plugins โดยไม่มีส่วนหัวของปลั๊กอิน เปิดคืออะไร
fuxia

@toscho ถึงประเด็น: Wyck กล่าวว่าwp-content/intall.phpไม่ใช่ Drop-in ความไว้วางใจความรู้ของเขาฉันคิดว่าคำถามจำเป็นต้องชี้แจงว่า ถ้าไม่ฉันยินดีที่จะลบ ฉันไม่ต้องการที่จะสร้างหัวข้อทะเลาะอื่น ๆ
brasofilo

ที่จะทำให้เป็นคำถามที่ดีกว่า: คือinstall.phpแบบหล่นใน?
fuxia

คำตอบ:


9

เพื่อตอบคำถามของคุณใช่

ในความเป็นจริงมีฟังก์ชั่นอื่น ๆ อีกมากมายที่คุณสามารถแทนที่ในไฟล์นั้นมันรวมอยู่ในบรรทัดแรกของ "wp-admin / include / upgrade.php" และมีฟังก์ชั่นมากมายภายในเพื่อแทนที่

น่าเสียดายที่ไม่มีข้อมูลมากเกินไปเกี่ยวกับปลั๊กอินดรอปอิน แต่ฉันจะพยายามใส่จุดต่างๆ

  1. มีความแตกต่างจากปลั๊กอินปกติในแง่ที่ว่าพวกเขาไม่สามารถทำแพ็กเกจและติดตั้งผ่านผู้ดูแลระบบเวิร์ดเพรส
  2. การใช้มันหมายความว่าเจ้าของอัพโหลดปลั๊กอินด้วยตนเองในตำแหน่งที่ถูกต้อง ดังนั้นจึงสันนิษฐานว่ามันเขียนและเพิ่มโดยเจ้าของเอง
  3. ปลั๊กอินเหล่านี้มีไว้เพื่อให้มีรหัสเฉพาะสำหรับเว็บไซต์ wordpress เฉพาะ
  4. เนื่องจากเจ้าของถูกเพิ่มพวกเขาจึงไม่สามารถควบคุม (เปิดใช้งาน / ปิดใช้งาน) จากแผงการดูแลระบบ คำสั่ง include ถูกฮาร์ดโค้ดในแกน
  5. พวกเขาไม่จำเป็นต้องมีส่วนหัวของไฟล์ใด ๆ

เพื่อสรุปพวกเขาเป็นไฟล์ php hardcoded ที่จะรวม (ถ้ามี) เมื่อใดก็ตามที่ฟังก์ชั่นที่เกี่ยวข้องจะถูกโหลดโดย WordPress

หากต้องการใช้งานเพียงแค่สร้างไฟล์ php ที่มีชื่อนั้นอยู่ในไดเรกทอรี "wp-content" และจะถูกรวมไว้โดยอัตโนมัติ แน่นอนว่าไฟล์นั้นสามารถรวมไฟล์จำนวนเท่าใดก็ได้ตามต้องการ

แก้ไข

ในฐานะที่เป็น toscho ชี้ให้เห็น
1) Drop-ins (ถ้ามี) ยังแสดงอยู่ในแผง admin WordPress ด้วยปลั๊กอินอื่น ๆ ทั้งหมด แม้ว่าจะไม่เหมือนกับปลั๊กอินอื่น ๆ แต่คุณไม่สามารถยกเลิกการเปิดใช้งานได้จากที่นั่น
2) Wordpress เมื่ออัพเกรดตัวเอง (อัปเกรดคอร์) ไม่เปลี่ยนไดเรกทอรี "wp-content" ด้วยเหตุผลนี้ปลั๊กอินเหล่านี้ไม่เคยเปลี่ยนแปลงระหว่างการอัพเกรด
3) คุณสามารถกำหนดค่าคงที่ในwp-config.phpเพื่อเปลี่ยนไดเรกทอรี "wp-content" เป็นค่าอื่น WP_CONTENT_DIRคงที่คุณจำเป็นต้องกำหนดเป็น สิ่งนี้จะเปลี่ยนค่าเริ่มต้นสำหรับค่าคงที่อื่นเช่นไดเรกทอรีปลั๊กอินดังนั้นคุณจะต้องดูแลสิ่งนั้นเช่นกันหากจำเป็น


2
คุณอาจเพิ่มพวกมันให้รอดจากการอัปเดต WordPress แสดงอยู่ในหน้าผู้ดูแลระบบปลั๊กอินและคุณสามารถกำหนดเส้นทางแบบดรอปอินwp-config.phpเพิ่มเติมได้
fuxia

บทสรุปที่ดี Mridul ฉันเพิ่งค้นหาแกนกลางและใช่คุณเกือบจะแปลเป็นภาษาอังกฤษตามที่รหัสบอกไว้
brasofilo

1

วิธีwp-content/install.phpการทำงาน;

กระบวนการติดตั้ง WP รัน wp-admin/install.php

ในบรรทัดที่ 39 ของการติดตั้งจะทำงาน wp-admin/includes/upgrade.php

require_once( dirname( __FILE__ ) . '/includes/upgrade.php' );

จากนั้นไฟล์นี้จะตรวจสอบผู้ใช้ที่สร้างขึ้น install.php ก่อนและถ้าไม่พบให้รันการติดตั้งเริ่มต้นตามที่เห็นในรหัสนี้

( file_exists(WP_CONTENT_DIR . '/install.php') )
    require (WP_CONTENT_DIR . '/install.php');

เวิร์กโฟลว์นี้มีผลต่อinstall.phpการเป็นดรอปอินของเราในลักษณะใด
brasofilo

มันยังคงเป็น "ดร็อปอิน" ฉันแค่ต้องการสร้างความแตกต่างกับที่mu-pluginฉันแสดงความคิดเห็นข้างต้นขออภัยในความสับสนฉันคิดว่า Mridul Aggarwal นั้นถูกต้อง
Wyck

ไม่มีปัญหาฉันสับสนจริงๆ แต่ถ้าระบบเรียกต้องใช้ชนิดหนึ่งและดรอปอินอีกประเภทหนึ่งเราควรยึดตามแบบแผน ไชโย :)
brasofilo

Ya อนุสัญญาการตั้งชื่อควรมีความชัดเจนมากขึ้น แต่คนส่วนใหญ่ไม่ทราบเกี่ยวกับประเพณีinstall.php
Wyck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.