Red de conocimiento informático - Material del sitio web - Cómo trasplantar el complemento WP a la plataforma Sina SAE

Cómo trasplantar el complemento WP a la plataforma Sina SAE

Los entusiastas de WordPress deberían haber escuchado y utilizado el complemento de mapa de sitio del generador de mapas de sitios de Baidu más utilizado (autor del complemento: blog de Liu Cheng). Dado que la plataforma Sina SAE no puede establecer los permisos del directorio 777, el complemento no se puede aplicar directamente. Para muchos usuarios de SAE, siempre he esperado que el funcionario pueda realizar un trasplante, pero desafortunadamente, solo he visto el mapa oficial del sitio de Google. trasplante hasta el momento. En el caso de los complementos, personalmente intenté trasplantarlos y lo logré. Me gustaría compartir el método aquí:

A diferencia del método de servicio de alojamiento tradicional, Sina SAE no admite el acceso de escritura al directorio. sino a través del servicio de almacenamiento distribuido para resolver problemas de almacenamiento. En otras palabras, cualquier complemento que genere archivos en el directorio del host no se puede aplicar directamente a la plataforma SAE. Entonces, ¿cómo se modifica un complemento existente para que funcione correctamente? Con este fin, estudié el puerto del complemento de mapa de sitio de Google lanzado oficialmente y, en el archivo de código fuente del complemento sitemap-core.php, encontré la parte clave para resolver este problema. En la función GetXmlPath() en la línea 1385 del código fuente sitemap-core.php, encontré el código que define la ruta de almacenamiento como se muestra a continuación:

Presta atención a la parte roja en la imagen. El código nos indica que la plataforma SAE define la ruta del directorio de acceso de escritura de la aplicación como "saestor.//wordpress/"://wordpress/"./wordpress/", y el complemento no se importa con respecto a la adquisición de ruta. Por lo general, el resultado de retorno obtenido al llamar a la función GetHomePath() es el sitio. La ruta del directorio raíz actual del dominio, que no se puede escribir en el entorno SAE, por lo que el complemento causó el error, que fue la fuente del problema. .

Después de descubrir el método de procesamiento oficial mencionado anteriormente, comencé a transformar el correspondiente generador de mapas del sitio de Baidu.

Abra el archivo principal baidu_sitemap.php del generador de mapas del sitio de Baidu, busque la función responsable de escribir el archivo de mapa xml y el archivo estático sitemap.html - build_baidu_sitemap() y realice la operación aquí. En la línea 322 del código fuente, vemos el código que se muestra en la siguiente figura:

Como puede ver, los parámetros de la ruta de generación del archivo XML se obtienen a través de la función GetHomePath(), y allí También hay una declaración If para determinar los permisos, este es el problema. Cambiamos la definición de la ruta a la ruta de almacenamiento y eliminamos la condición $GetHomePath en el juicio condicional if. Los resultados son los siguientes:

De esta manera tenemos el XML generado. La modificación del archivo ha terminado. El siguiente paso es modificar la línea 363 del código responsable de generar el mapa HTML estático en el código fuente. cuadro rojo en la imagen a continuación:

Modifíquelo de la siguiente manera (o simplemente elimine el juicio if, está bien :)):

Modifíquelo de la siguiente manera (o simplemente elimine el if juicio, eso también está bien :)):