Tener wordpress como módulo o extensión en Yii

2 minutos de lectura

avatar de usuario
Aloco

Me gustaría añadir un blog a un sitio web. No pude encontrar ninguna buena extensión de blog para Yii, así que decidí usar WordPress. (Por favor, hágamelo saber si hay una mejor manera)

Podría simplemente extraer wordpress en la carpeta raíz y ejecutarlo.

http://www.ejemplo.com/wordpress

Sin embargo, el marco Yii tiene su index.php en la carpeta raíz, por lo que tendré que hacer que wordpress sea un módulo o una extensión (creo) a menos que coloque el marco Yii en una carpeta raíz/yii y use root/wordpress para separar los dos. Además, el diseño principal tendrá que ser diferente al diseño principal predeterminado de Yii. De lo contrario, el blog compartirá la misma estructura de encabezado y pie de página de Yii.

¿Podría alguien darme un ejemplo de cómo el framework Yii llama a un no-yiiframework ¿sitio?

  • probablemente sería mejor ponerlos en carpetas separadas, uno incluso podría estar en la carpeta raíz y el otro en una carpeta separada. En teoría, también sería posible usar el mismo archivo index.php y elegir qué archivo de arranque (yii o wp), pero parece que sería un problema.

    – ldg

    13 de junio de 2011 a las 21:16

  • ¿Alguna vez conseguiste que esto funcionara? Estoy teniendo el mismo problema.

    – Pavel Nikolov

    7 de enero de 2013 a las 1:16

  • También estoy tratando de agregar un blog a un sitio web de Yii. Hay una extensión de Yii para “foro” pero no para “blog”, lo cual es bastante extraño… Creo que es una tarea común que alguien ya habría implementado como una extensión.

    – PeterG

    13 de diciembre de 2013 a las 20:24

Si tiene el siguiente error:

include(Translation_Entry.php): no se pudo abrir la secuencia: no existe tal archivo o directorio

entonces necesitas deshabilitar Autoload, por ejemplo así:

spl_autoload_unregister(array('YiiBase','autoload'));
$wp=dirname(__FILE__).'/../../../../wp-load.php'; 
require_once($wp);
spl_autoload_register(array('YiiBase','autoload'));

http://wpengineer.com/1038/embed-wordpress-functions-outside-wordpress/ – aquí se describe cómo llamar a las funciones de wordpress desde fuera de wordpress. Intenté lo mismo con el diseño de Yii y ahora me encuentro con un error extraño. include(Translation_Entry.php): failed to open stream: No such file or directory. Necesito mirar un poco más en esto.

Aparte de eso, esta solución (si logra configurarla) debería darle lo que desea.

Puedes incluir wordpress como biblioteca, y require_once 'wp_config.php' en index.php. Luego puede llamar a la función de wordpress directamente.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad