Al comenzar con una instalación de red nueva, el primer paso es una instalación de sitio único que tiene una línea adicional en el wp-config.php
archivo:
define( 'WP_ALLOW_MULTISITE', true );
Después de eso, debemos Tools > Network Setup
ingresar, ingresar algunos detalles como el nombre de la red y el correo electrónico de superadministrador y finalmente presionar el botón para ejecutar la configuración.
El siguiente paso que aparece es en realidad dos pasos:
Agregue constantes adicionales a su
wp-config.php
archivodefine( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', true ); define( 'DOMAIN_CURRENT_SITE', 'example.com' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', true ); define( 'BLOG_ID_CURRENT_SITE', true );
- Agregue algunas reglas a su
.htaccess
archivo.
Como no hago instalaciones de un solo sitio (ya no hay razón para eso), me gustaría agregar esas constantes dinámicamente a mi wp-config.php
archivo:
define( 'WP_ALLOW_MULTISITE', true );
if ( SOME_CHECK_IF_STEP-1_WAS_PASSED )
{
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', true );
define( 'BLOG_ID_CURRENT_SITE', true );
}
Así que no tengo que ir a wp-config.php
cada vez y editarlo nuevamente.
Lo primero que se me ocurrió fue verificar la base de datos de la {$wpdb->prefix}sitemeta
tabla, pero no quiero hacer una consulta adicional en cada carga de sitio. Lo segundo que pensé fue comprobar si blogs.dir
ya existe, pero ese no es el caso.
Pregunta: ¿Cómo puedo indicar que ya pasé el primer paso de la configuración de la red de manera que no tenga una sobrecarga masiva o disminuya el rendimiento?
wp-config
generador de roncos .Respuestas:
No he probado esto, pero si necesita encontrar una solución, probablemente intente hacerlo de la siguiente manera agregando un script a la
if ( SOME_CHECK_IF_STEP-1_WAS_PASSED )
condición que ha descrito anteriormente, eso sería:{$wpdb->prefix}sitemeta
tabla;wp-config.php
-> return true.El trabajo cron de WP reescribirá el
wp-config.php
para eliminar la comprobación por completo.De esta manera, solo tiene una solicitud de base de datos adicional hasta que la red esté configurada y el trabajo cron haya hecho su magia.
Tenga en cuenta que vale la pena el esfuerzo, aunque ...;)
fuente
wp-config.php
archivo directamente, pero supongo que estaría bloqueado en ese punto ...Inspeccionar
wp-admin/network.php
ywp-admin/includes/schema.php
archivar. Puede crear una condición basada en WP_INSTALLING_NETWORKActualizar:
fuente
wp-load.php
llegawp-config.php
antes, porWP_INSTALLING_NETWORK
lo que no se definirá. Pero incluso si estuviera disponible, solo está disponible durante la configuración de la red. ¿Qué haría para dejar las constantes después de que se haya ejecutado la instalación?index.php
pulls./wp-blog-header.php
), que luego tirawp-load.php
y desde allíwp-config.php
se llama. Un resumen se puede encontrar aquí .admin.php
se llama a sí mismo antessetup.php
ynetwork.php
(y se llama awp-load.php
sí mismo al principio), por lo que config ya se ha estado ejecutando.WP_INSTALLING_NETWORK
sucededefine()
sin verificar si ya estádefined()
, crearía unFatal Error
allí. Por favor, prueba que estoy equivocado y pruébalo. :)wp-config.php
archivo grabable es un riesgo de seguridad. Considere que tiene todos los detalles importantes allí. Te mostré que no hay forma de que esto funcione (sin tener un archivo de configuración grabable). Lo que estoy buscando es un indicador (que no ralentiza el sistema) que puedo verificar y usar como interruptor. Todo lo demás no funcionará.Si su configuración es la misma cada vez (instalación de subdominio), entonces puede pegar todo el fragmento en su primer paso:
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', true ); define( 'DOMAIN_CURRENT_SITE', $_SERVER[ 'HTTP_HOST' ] ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', true ); define( 'BLOG_ID_CURRENT_SITE', true );
fuente
DOMAIN_CURRENT_SITE
constante correcta que WordPress le brinda después de completar la configuración interna.