La forma mejor (más rápido y más seguro) para cargar sólo cargar la funcionalidad principal de WordPress es el uso de la bandera SHORTINIT
así:
define('SHORTINIT', true);
require('/path/to/wp-load.php');
//Here you can use WordPress core features, for example the $WPDB object
Para obtener más información sobre esto y ver lo que está cargada , es verificar el código en /wp-settings.php
.Allí encontrará la siguiente sección:
// Stop most of WordPress from being loaded if we just want the basics.
if (SHORTINIT)
return false;
Esto significa que nada después de esto no va a ser cargado, y es un buen montón de cosas como se puede ver. La huella será mucho más pequeña que la simple carga del wp-load.php
y aún le da acceso a todas las funciones integradas en el núcleo de WordPress, a diferencia de incluir, por ejemplo, /wp-includes/wp-db.php
directamente. Muchas funciones en WP core también tienen dependencias en otros archivos y puede ser un desastre averiguar exactamente qué archivos necesita incluir para poder hacer lo que quiera. SHORTINIT
incluye las dependencias necesarias para que no tenga que preocuparse por esto.
Si sabe exactamente lo que necesita, por ejemplo solo WPDB, la forma más rápida es, por supuesto, incluir solo los archivos que necesita, pero SHORTINIT
proporciona una forma más segura y estandarizada de cargar el núcleo WP y las dependencias. Con SHORTINIT
, WordPress no carga los complementos, la mayoría de las partes de la API del complemento, los temas, las funciones del tema y la mayoría de las funciones de administración y frontend. Aquí es donde está el código pesado en una instalación típica de WordPress. En la mayoría de los casos creo que SHORTINIT
vale la pena la pequeña compensación en velocidad/rendimiento en comparación con incluir solo los archivos que necesita y en la mayoría de los casos es un gran aumento de rendimiento en comparación con una carga completa.
¡Definitivamente es la mejor respuesta! –
Con mucho, la mejor respuesta con SHORTINIT para scripts personalizados es mucho más rápida. –
¡Gracias! Esto es exactamente lo que necesitaba. wp-db.php en sí mismo requiere algunas funciones WP extrañas que no se incluyen y esto resuelve eso. –