¿Los archivos de complementos tienen que seguir una convención específica para ser "recogidos" por WordPress?

8

Desarrollé un complemento utilizando la convención normal de nombrar el archivo de complemento principal después de la carpeta del complemento (es decir, prefix-somepluginpara la carpeta y prefix-someplugin.phppara el archivo). Sin embargo, vi algunos complementos que usan la siguiente estructura:

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

Obviamente, si usaron dicha estructura, significa que funciona. El problema es que no estoy seguro de cómo funciona, de ahí mi pregunta. ¿Cómo sabe WP qué archivo cargar como el archivo de complemento principal? Habría asumido que buscaba un archivo con el nombre de una carpeta, simplemente agregando .phpcomo una extensión, pero parece que estaba equivocado.

¿WPjust wp-content/pluginsbusca carpetas y carga todos los archivos que encuentra en ellas, o sigue una lógica diferente?

Gracias de antemano por las respuestas.

Diego
fuente

Respuestas:

9

WordPress detecta un archivo como complemento cuando hay un encabezado de complemento. Por lo tanto, puede almacenar múltiples complementos en un directorio, y todos serán reconocidos como complementos diferentes.

Cada archivo con al menos /* Plugin Name: something */es un complemento.

La razón es que WordPress escanea todos los archivos PHP en el directorio principal de un complemento.

Puede usar cualquier nombre para el archivo de complemento. Evite archivos que no sean complementos en el directorio principal. Solo comen tiempo de ejecución. Coloque todos los demás archivos PHP en subdirectorios.

fuxia
fuente
A-ha! Ahora lo entiendo. Revisé el archivo del cargador de complementos y contiene el encabezado del complemento, que normalmente se encuentra en el archivo del complemento principal. Parece que el autor simplemente dividió el archivo en dos (uno con solo encabezado + cargador y otro con el código del complemento), para que todo el complemento esté dentro srcy las pruebas ingresen test. Gracias por la respuesta. :)
Diego