Wp-content / install.php è un drop-in?


9

Non riesco a trovare documentazione o discussioni su cosa sia e come utilizzare i plug-in Drop-in.
La domanda è stata sollevata in queste domande e risposte , popolare il contenuto al momento dell'installazione .

Un wp-content/install.phpfile che ridefinisce la funzione collegabile è wp_install_defaultsun plug -in Drop-in o no?

I miei risultati di ricerca

L'elenco seguente è tratto dall'articolo di hakre (che sembra essere l'origine di tutte le altre copie negli 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.

Nel Codice un Drop-in è definito come :

Il file PHP concreto


All'inizio, non c'è niente nella lista [wp-hackers]. E alla ricerca di "drop-in + wordcamp" ho trovato solo questo di rilievo la mia enfasi :

Uno dei grandi punti di forza di WordPress è il suo sistema di plugin. Nella prossima versione 2.1, non c'è molto da fare come plug-in drop-in . Ciò semplifica l'uso di WordPress come CMS e mantiene le personalizzazioni separate dalla linea di codice principale; che a sua volta semplifica gli aggiornamenti e la manutenzione.


1
Non è solo semantica? Non essendo un madrelingua inglese, non vedo la distinzione implicita tra "plug-in drop-in" e "plug-in"
Mark Kaplun,

@MarkKaplun: No, no, non si tratta di semantica. La domanda è sulla terza frase: è un file wp-content / install.php che ridefinisce [...]
brasofilo,

Non capisco cosa tu voglia. Sai già i drop-in sono file caricati come mu-plugins, solo senza un'intestazione del plugin. Cosa è aperto
fuxia

@toscho, al punto: Wyck ha detto che wp-content/intall.phpnon è un Drop-in. Confidando nelle sue conoscenze, ho pensato che fosse necessaria una Domanda per chiarire questo. In caso contrario, lo eliminerò volentieri. Non voglio creare nessun altro argomento polemico.
brasofilo,

Ciò farebbe una domanda migliore: è install.phpun drop-in?
fuxia

Risposte:


9

Per rispondere alla tua domanda, sì

In effetti, ci sono molte altre funzioni che puoi sovrascrivere in quel file, è inclusa come prima riga di "wp-admin / Includes / upgrade.php" e ci sono molte funzioni all'interno da sovrascrivere

Sfortunatamente, non ci sono troppe informazioni disponibili sui plugin drop-in, ma proverò a mettere alcuni punti

  1. Sono distinti dai normali plug-in, nel senso che non possono essere impacchettati e installati tramite admin di wordpress.
  2. Usarli significa che il proprietario ha caricato manualmente il plugin nella posizione corretta. Quindi si presume che sia scritto e aggiunto dal proprietario stesso.
  3. Questi plugin hanno solo lo scopo di avere un codice specifico per il particolare sito wordpress.
  4. Poiché sono aggiunti dal proprietario, non possono essere controllati (attivati ​​/ disattivati) dal pannello di amministrazione. L'istruzione include è codificata nel core.
  5. Non devono avere intestazioni di file.

Per riassumere, sono file php hardcoded da includere (se presenti), ogni volta che la funzionalità corrispondente viene caricata da wordpress.

Per usarli, basta creare un file php con quel nome all'interno della directory "wp-content" e verrà automaticamente incluso. Tale file può ovviamente includere qualsiasi numero di altri file, se necessario.

MODIFICARE

Come sottolineato da toscho,
1) I drop-in (se disponibili) sono elencati anche nel pannello di amministrazione di wordpress con tutti gli altri plugin. Sebbene a differenza di altri plugin, non hai il controllo per disattivarli da lì.
2) Wordpress, quando si aggiorna da solo (aggiornamento principale), non altera la directory "wp-content". Per questo motivo, questi plugin non cambiano mai tra gli aggiornamenti.
3) È possibile definire una costante in wp-config.phpper modificare la directory "wp-content" in un'altra. La costante che devi definire è WP_CONTENT_DIR. Questo cambia anche le impostazioni predefinite per altre costanti come la directory dei plugin, quindi dovrai prenderti cura anche di questo, se necessario


2
Potresti aggiungere che sopravvivono a un aggiornamento di WordPress, sono elencati nella pagina di amministrazione del plug-in e puoi definire percorsi aggiuntivi a discesa in wp-config.php.
fuxia

Bel riassunto, Mridul. Ho appena cercato nel core e sì, stai quasi traducendo in inglese ciò che dice il codice.
brasofilo,

1

Come wp-content/install.phpfunziona;

Viene eseguito il processo di installazione di WP wp-admin/install.php

Sulla linea 39 dell'installazione funziona wp-admin/includes/upgrade.php

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

Questo file quindi verifica prima l'installazione di un utente.php e se non viene trovato esegue l'installazione predefinita come visto da questo codice;

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

In che modo questo flusso di lavoro influenza o meno il nostro install.phpessere un Drop-in?
brasofilo,

È ancora un "drop-in". Volevo solo fare una distinzione con un mu-plugincommento sopra, scusate la confusione, penso che il signoridul Aggarwal sia corretto.
Wyck,

Nessun problema, mi sono davvero confuso. Ma, se il sistema chiama Must-use un tipo e Drop-in un altro tipo, dovremmo attenerci alla convenzione. Saluti :)
brasofilo,

Le convenzioni di denominazione dovrebbero essere più chiare, ma anche la maggior parte delle persone non conosce l'usanzainstall.php
Wyck,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.