Wp-content / install.php bir Drop-in mı?


9

Drop-in eklentilerinin ne olduğu ve nasıl kullanılacağı hakkında belge veya tartışma bulamıyorum.
Soru, yükleme sırasında içeriği doldurun .

wp-content/install.phpEklenebilir işlevi yeniden tanımlayan bir dosya wp_install_defaultsbir Drop-in eklentisi mi, değil mi?

Araştırma sonuçlarım

Aşağıdaki liste hakre'nin makalesinden (interweblerdeki diğer tüm kopyaların kaynağı gibi görünüyor) .

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.

Kodeks'de bir Drop-in şu şekilde tanımlanır :

Somut PHP dosyası


İlk başta, [wp-hackerlar] listesinde hiçbir şey yok. Ve ararken "drop-in + wordcamp" Ben sadece ettik buldum alaka benim vurgu :

WordPress'in en güçlü yanlarından biri eklenti sistemidir. Önümüzdeki 2.1 sürümünde, bir eklenti eklentisi olarak yapamayacağınız çok az şey var . Bu, WordPress'i bir CMS olarak kullanmayı ve özelleştirmelerinizi ana kod kodundan ayrı tutmayı kolaylaştırır; bu da yükseltmeleri ve bakımı kolaylaştırır.


1
Sadece semantik değil mi? Anadili İngilizce olmayan biri olarak "drop-in plugin" ve "plugin" arasındaki zımni ayrım göremiyorum
Mark Kaplun

@ MarkKaplun: Hayır, hayır, anlambilimle ilgili değil. Soru 3 cümle üzerindedir: Bir wp-content / install.php dosyasını Öyle Yeniden Tanımlıyor [...]
brasofilo

Senin için ne olduğunu anlamıyorum. Zaten eklentilerin sadece bir eklenti başlığı olmadan mu-eklentileri gibi yüklenen dosyalar olduğunu biliyorsunuz. Açık olan nedir?
fuxia

@toscho, şu noktaya kadar: Wyck wp-content/intall.phpbunun bir Drop-in olmadığını söyledi . Bilgisine güvenerek, bunu netleştirmek için bir Sorunun gerekli olduğunu düşündüm. Değilse, bunu memnuniyetle sileceğim. Başka bir polemik konu oluşturmak istemiyorum.
brasofilo

Bu daha iyi bir soru olurdu: Bir damla install.php?
fuxia

Yanıtlar:


9

Sorunuzu cevaplamak için Evet

Aslında, bu dosyada geçersiz kılabileceğiniz birçok işlev vardır, "wp-admin / include / upgrade.php" nin ilk satırı olarak eklenmiştir ve içinde geçersiz kılınacak birçok işlev vardır.

Ne yazık ki, drop-in eklentileri hakkında çok fazla bilgi mevcut değil, ancak birkaç nokta koymaya çalışacağım

  1. Wordpress admin aracılığıyla paketlenip kurulamayacakları anlamında normal eklentilerden farklıdırlar.
  2. Bunları kullanmak, sahibin eklentiyi doğru yere manuel olarak yüklediği anlamına gelir. Bu nedenle, yazarın kendisinin yazdığı ve eklediği varsayılır.
  3. Bu eklentilerin yalnızca belirli wordpress sitesine özgü kodları olması amaçlanmıştır.
  4. Sahip tarafından eklendikleri için yönetici panelinden kontrol edilemez (etkinleştirilemez / devre dışı bırakılamaz). İnclude deyimi çekirdeğe sabit kodlanmıştır.
  5. Herhangi bir dosya başlığına sahip olmaları gerekmez.

Özetlemek gerekirse, wordpress tarafından karşılık gelen işlevsellik yüklendiğinde, dahil edilmesi zor kodlanmış php dosyalarıdır (varsa).

Bunları kullanmak için, "wp-content" dizini içinde bu adla bir php dosyası oluşturun ve otomatik olarak dahil edilecektir. Bu dosya elbette gerektiği kadar çok sayıda başka dosya içerebilir.

DÜZENLE

Toscho'un belirttiği gibi,
1) Drop-in'ler (varsa) diğer tüm eklentilerle birlikte wordpress yönetici panelinde listelenir. Diğer eklentilerin aksine, onları oradan devre dışı bırakma kontrolüne sahip değilsiniz.
2) Wordpress kendini yükseltirken (çekirdek yükseltme) "wp-content" dizinini değiştirmez. Bu nedenle, bu eklentiler yükseltmeler arasında asla değişmez.
3) wp-config.php"wp-content" dizinini bir başkasıyla değiştirmek için bir sabit tanımlayabilirsiniz . Tanımlamanız gereken sabit WP_CONTENT_DIR. Bu ayrıca plugins dizini gibi diğer sabitler için varsayılanları da değiştirir, bu nedenle gerekirse buna da dikkat etmeniz gerekir


2
Bir WordPress güncellemesinden sağ çıktıklarını ekleyebilir, eklenti yönetici sayfasında listelenebilir ve içindeki ek açılır yollar tanımlayabilirsiniz wp-config.php.
fuxia

Güzel özet, Mridul. Ben sadece çekirdeği aradım ve evet, neredeyse kodun söylediği İngilizceye çeviriyorsunuz.
brasofilo

1

Nasıl wp-content/install.phpçalışır;

WP kurulum işlemi çalışır wp-admin/install.php

Kurulumun 39. satırında çalışır wp-admin/includes/upgrade.php

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

Bu dosya daha sonra install.php oluşturulan bir kullanıcı için kontrol ilk bu kod tarafından görüldüğü gibi varsayılan yükleme ve değilse bulundu ishal;

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

Bu iş akışı bir Teslim Olma durumumuzu nasıl etkiler install.php?
brasofilo

Hala bir "bırakma" Ben sadece mu-pluginyukarıda yorum bir ile bir ayrım yapmak istedim , karışıklık için üzgünüm, bence Mridul Aggarwal en doğru.
Wyck

Sorun yok, gerçekten kafam karıştı. Ancak, sistem bir tür kullanmalı ve başka bir tür bırakmalı ise, konvansiyona bağlı kalmalıyız. Şerefe :)
brasofilo

Ya adlandırma kuralları daha açık olmalı, ancak çoğu insan gelenek hakkında bilmiyorinstall.php
Wyck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.