I file dei plugin devono seguire una convenzione specifica per essere "ritirati" da WordPress?


8

Ho sviluppato un plugin usando la normale convenzione di nominare il file del plugin principale dopo la cartella del plugin (cioè prefix-somepluginper la cartella e prefix-someplugin.phpper il file). Tuttavia, ho visto alcuni plugin che usano la seguente struttura:

prefix-someplugin
 - plugin-loader.php // This file just loads src/prefix-someplugin.php
 - /src
    - prefix-someplugin.php

Ovviamente, se hanno usato tale struttura, significa che funziona. Il problema è che non sono sicuro di come funzioni, quindi la mia domanda. Come fa WP a sapere quale file caricare come file plugin principale? Avrei supposto che cercasse un file che prende il nome da una cartella, aggiungendo solo .phpun'estensione, ma sembra che mi sbagliassi.

WPjust wp-content/pluginscerca le cartelle e carica tutti i file che trova in esse o segue una logica diversa?

Grazie in anticipo per le risposte.

Risposte:


9

WordPress rileva un file come plug-in quando è presente un'intestazione del plug-in. Quindi è possibile archiviare più plug-in in una directory e tutti saranno riconosciuti come plug-in diversi.

Ogni file con almeno /* Plugin Name: something */è un plugin.

Il motivo è che WordPress esegue la scansione di tutti i file PHP nella directory principale di un plugin.

Puoi usare qualsiasi nome per il file del plugin. Evita i file non plug-in nella directory principale. Mangiano solo runtime. Inserisci tutti gli altri file PHP in sottodirectory.



A-ha! Ora capisco. Ho controllato il file del caricatore del plug-in e contiene l'intestazione del plug-in, che si trova normalmente nel file del plug-in principale. Sembra che l'autore abbia semplicemente diviso il file in due (uno con solo intestazione + caricatore e uno con il codice del plugin), in modo che tutte le cose del plugin siano dentro srce le prove dentro test. Grazie per la risposta. :)
Diego,
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.