¿Es wp-content / install.php un Drop-in?

9

No puedo encontrar documentación o debates sobre qué es y cómo usar los complementos de Drop-in.
La pregunta se planteó en este Q&A, Rellenar contenido en la instalación .

¿Es un wp-content/install.phparchivo que redefine la función conectable wp_install_defaultsun complemento desplegable o no?

Los resultados de mi investigación

La siguiente lista es del artículo de hakre (que parece ser el origen de todas las demás copias en las páginas web) .

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.

En el Codex, un Drop-in se define como :

El archivo PHP concreto


Al principio, no hay nada en la lista [wp-hackers]. Y buscando "drop-in + wordcamp" solo he encontrado que esto es relevante mi énfasis :

Una de las grandes fortalezas de WordPress es su sistema de complementos. En la próxima versión 2.1, hay muy poco que no pueda hacer como complemento . Esto facilita el uso de WordPress como CMS y mantiene sus personalizaciones separadas de la línea de código principal; que a su vez simplifica las actualizaciones y el mantenimiento.

brasofilo
fuente
1
¿No es solo semántica? Al no ser un hablante nativo de inglés, no veo la distinción implícita entre "complemento" y "complemento"
Mark Kaplun
@ MarkKaplun: No, no, no se trata de semántica. La pregunta está en la tercera oración: es un archivo wp-content / install.php que redefine [...]
brasofilo
No entiendo por lo que estás fuera. Ya sabe que los drop-ins son archivos cargados como complementos mu, solo que sin un encabezado de complemento. ¿Qué es abierto?
fuxia
@toscho, hasta el punto: Wyck dijo que wp-content/intall.phpno es un Drop-in. Confiando en su conocimiento, pensé que se necesitaba una pregunta para aclarar eso. Si no, con mucho gusto eliminaré esto. No quiero crear ningún otro tema polémico.
brasofilo
Eso haría una mejor pregunta: ¿es install.phpun drop-in?
fuxia

Respuestas:

9

Para responder a tu pregunta, si

De hecho, hay muchas otras funciones que puede anular en ese archivo, se incluye como la primera línea de "wp-admin / includes / upgrade.php" y hay muchas funciones en el interior que deben anularse

Desafortunadamente, no hay demasiada información disponible con respecto a los complementos desplegables, pero intentaré poner algunos puntos

  1. Son distintos a los complementos normales en el sentido de que no se pueden empaquetar e instalar a través de WordPress Admin.
  2. Usarlos significa que el propietario cargó manualmente el complemento en la ubicación correcta. Por lo tanto, se supone que está escrito y agregado por el propio propietario.
  3. Estos complementos solo están destinados a tener un código específico para el sitio particular de WordPress.
  4. Como los agrega el propietario, no se pueden controlar (activar / desactivar) desde el panel de administración. La declaración de inclusión está codificada en el núcleo.
  5. No necesitan tener ningún encabezado de archivo.

Para resumir, son archivos php codificados para ser incluidos (si existen), siempre que WordPress esté cargando la funcionalidad correspondiente.

Para usarlos, simplemente cree un archivo php con ese nombre dentro del directorio "wp-content" y se incluirá automáticamente. Ese archivo puede, por supuesto, incluir cualquier número de otros archivos según sea necesario.

EDITAR

Como señaló Toscho,
1) Los complementos (si están disponibles) también se enumeran en el panel de administración de WordPress con todos los demás complementos. Aunque a diferencia de otros complementos, no tiene el control para desactivarlos desde allí.
2) Wordpress, cuando se actualiza a sí mismo (actualización central), no altera el directorio "wp-content". Por esta razón, estos complementos nunca cambian entre actualizaciones.
3) Puede definir una constante en el wp-config.phppara cambiar el directorio "wp-content" a otro. La constante que necesitas definir es WP_CONTENT_DIR. Esto también cambia los valores predeterminados para otras constantes, como el directorio de complementos, por lo que también deberá ocuparse de eso, si es necesario.

Mridul Aggarwal
fuente
2
Puede agregar que sobreviven a una actualización de WordPress, se enumeran en la página de administración del complemento y puede definir rutas de acceso adicionales adicionales en wp-config.php.
fuxia
Buen resumen, Mridul. Acabo de buscar el núcleo y sí, casi estás traduciendo al inglés lo que dice el código.
brasofilo
1

Como wp-content/install.phpfunciona

El proceso de instalación de WP se ejecuta wp-admin/install.php

En la línea 39 de la instalación se ejecuta. wp-admin/includes/upgrade.php

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

Luego, este archivo comprueba primero si hay un archivo install.php generado por el usuario y, si no se encuentra, ejecuta la instalación predeterminada como se ve en este código;

( file_exists(WP_CONTENT_DIR . '/install.php') )
    require (WP_CONTENT_DIR . '/install.php');
Wyck
fuente
¿De qué manera este flujo de trabajo afecta install.phpa que seamos Drop-in o no?
brasofilo
Todavía es un "drop-in". Solo quería hacer una distinción con un mu-plugincomentario que comenté anteriormente, perdón por la confusión, creo que Mridul Aggarwal es correcto.
Wyck
No hay problema, realmente me confundí. Pero, si el sistema llama Debe usar un tipo y Colocar otro tipo, debemos apegarnos a la convención. Saludos :)
brasofilo
Ya las convenciones de nombres deberían ser más clara, sino también la mayoría de la gente no sabe acerca de la costumbreinstall.php
Wyck