Hice mi propio servicio de carga para mi sitio web que está separado de WP, pero usa WP para proporcionar funciones de db de bajo nivel y verificación de usuario. Para hacer eso, incluyo wp-load.php en mi script principal (Uploadify), pero hacerlo parece llenar la memoria del servidor con componentes innecesarios. Gracias a eso, veo un error en mi script que parece apuntar a un complemento WP instalado.
¿Cómo puedo cargar solo los componentes principales de WP e ignorar los complementos? ¿Es esto posible?
Respuestas:
Deshabilitar los complementos por completo significa que pierdes muchas ventajas.
Hay distribuciones de wordpress que van más allá y eliminan publicaciones y enlaces, etc., pero siempre van a la zaga del núcleo de WordPress y tienden a no sobrevivir tanto tiempo.
Aquí hay algunas cosas que podrían hacerse.
Inicia breve
Poniendo esto en su wp-config.php:
O definirlo en algún lugar antes de cargar en WordPress, debería reducir el proceso de carga y devolverlo a las funciones básicas mínimas.
Instalaciones secundarias ligeras
Configure una segunda instalación de WordPress, con solo los complementos y temas que desee (si corresponde). Luego configure wp-config.php para usar el mismo directorio wp-content y los valores de la base de datos.
Presionar
WordPress, el original BBpress y glotpress, entre otros, están construidos alrededor de la biblioteca BackPress. Puede usar esto en lugar de WordPress para hacer su trabajo, aunque pueden faltar numerosas API y características o necesitar una nueva implementación / portabilidad
Tablas opcionales
También debería tener en cuenta que WordPress carga toda la tabla de opciones en la memoria para reducir las consultas, si guarda valores grandes allí afectará el rendimiento.
Salir temprano
También puede intentar conectarse a funciones anteriores en el proceso de carga de WordPress y salir del proceso de PHP antes de que WordPress termine, pero no puedo aconsejarle qué tan seguro sería eso.
Carga selectiva de complementos
También hay este artículo sobre la carga selectiva de complementos , pero requiere piratería en los archivos principales de WordPress
fuente
Uso BackPress , pero tengo pequeños desarrollos, donde uso una instalación predeterminada y una fuente más pequeña a través de const.
ver en el
wp-settings.php
Establezca el const SHORTINIT en verdadero en el
wp-config.php
y vea la ejecución rápida.define( 'SHORTINIT', TRUE );
Estos son los archivos que obtienes:
fuente
Para hacer
is_user_logged_in()
ycurrent_user_can()
trabajar, encontré una respuesta similar aquí (No puedo comentar) La comparación coincide con las respuestas aquí, como:Usar
define('SHORTINIT', true)
+require('wp-load.php')
+ manualmente incluye:Carga de página: 1.05 sek - archivos incluidos: 43 archivos
Comparando: Usando SOLO
require('wp-load.php')
:Carga de la página: 1.35 sek - archivos incluidos: 419 archivos
Fue una buena idea utilizar una llamada relativa al directorio instalado de WP. Desde un plugin personalizado de Wordpress "ROOT" como:
Luego dentro de mi plugin index.php:
Después de esto, la validación del usuario funciona para mí. Gracias a @Anna Ericson palabras finales del código original:
fuente
¿Lo has intentado
define('SHORTINIT', true);
? No lo he probado yo mismo, pero parece cargar muy pocos aspectos del núcleo de WP mientras conserva la funcionalidad suficiente, especialmente si todo lo que quiere es tratar con la base de datos.fuente