WordPress como Backend, Laravel Front End: ¿Cómo conectar rutas?

2

Voy a diseñar un sitio y pensé en usar wordpress para que los clientes quieran poder editar el contenido y no están muy al día con las últimas tecnologías, así que como editor de back-end de wordpress es bastante simple y sencillo, esta podría ser una buena opción para ello.

Luego, pensé en usarlo como backend y mezclarlo con un marco como Laravel o CakePHP para hacer el resto del trabajo y diseñar las vistas.

¿Crees que este sería un buen enfoque?

  

Al pensar en usar solo temas de wordpress para eso, me encontré en problemas cuando empecé a pensar en el enrutamiento de URL, al tener que entender qué archivos de plantilla se llaman para cada URL, tratar con formularios, detectar dispositivos táctiles / móviles en backend.

     

Y, por otro lado, sé cómo lidiar con eso en otros marcos de trabajo de PHP, por lo que me parece más fácil hacerlo allí.

¿Alguna ventaja de usar solo wordpress para el sitio en lugar de usar un marco externo para él? ¿Hay alguna manera de conectar el sistema de enrutamiento Laravel con el sistema de reescritura de WordPress?

    
pregunta Alvaro 17.01.2015 - 21:22

4 respuestas

3

Lo que pasa con WordPress, aunque no tiene un sistema de enrutamiento limpio , en principio hace la misma operación. Toma la entrada de la URL y la relaciona con un conjunto de variables de consulta.

Lo interesante de esto es que utiliza expresiones regulares para estas rutas que no son del todo y muchas de ellas. El número total de reglas fluctúa de aproximadamente un mínimo de cien a miles para un sitio complejo (verter $wp_rewrite->rules para ver).

Este sistema es totalmente posible de reemplazar (aunque probablemente no será particularmente limpio, aunque roza el hackeo desde la perspectiva de WP).

El principal desafío es que tendría que dedicar un enorme esfuerzo a paridad de funciones , es decir, su enrutador no rompe el 90% de las cosas que "simplemente funcionan" en WP.

Si no está preocupado por la paridad de características, podría hacer un pequeño subconjunto de ellas e ignorar el resto.

PS o simplemente podrías hacer un sitio WP como se supone que debe hacerse. Eso funciona para mucha gente. :)

    
respondido por el Rarst 18.01.2015 - 17:33
3

La combinación de WordPress con otros marcos te hará muy fácil que te dispares en el pie. Si todo lo que sus clientes quieren es un editor, entonces puede usar tinymce sin arrastrar todo el wordpress, pero si buscan el flujo de trabajo y la flexibilidad, no tendrá sentido intentar hacer wordpress algo que no es. es más probable que pase más tiempo que anticipando el desarrollo e incluso que produzca algo que no satisfaga completamente a sus clientes.

    
respondido por el Mark Kaplun 18.01.2015 - 23:28
0

He logrado esto con Laravel usando wp-api.org, Guzzle, caching y extendí el paquete de CyberDuck un poco para satisfacer mis necesidades. Todas mis propias vistas y mi propio enrutamiento.

Al abordar esto de esta manera, me pareció más fácil pensar en el área de administración de WP como más un repositorio de contenido estructurado y menos un CMS de administración de páginas. Usé mucho ACF y mis propios complementos personalizados.

Muchos otros complementos de WP no funcionarían demasiado bien, ya que muchos producen resultados. Tendría que encontrar la manera de obtener esa salida e imprimirla usted mismo o crear su propia funcionalidad en su lugar.

Nunca terminé lanzando este, ya que el proyecto necesitaba un carrito de compras básico y WooCommerce se ajustaba a la cuenta, por lo que se quedó con un tema WP personalizado. Pero fue una gran experiencia de aprendizaje y funcionó bastante bien, especialmente una vez que se estaba ejecutando el almacenamiento en caché.

Pero luego tendrás dos aplicaciones para mantener. En mi caso, al menos, solo tenía sentido si iba a crear varios sitios web o aplicaciones que se alimentan desde el repositorio de contenido de WP.

¿Crees que este sería un buen enfoque?

Sí, si la aplicación o el dominio lo justifican. Disfruté enormemente usando mi propio enrutamiento y vistas, mucho más control. Y no tuve que tocar ningún código de tema WP, lo cual es una gran ventaja.

¿Alguna ventaja de usar solo wordpress para el sitio en lugar de usar un marco externo para él?

Absolutamente, una aplicación menos para mantener y mucho menos código para escribir. Todo el enrutamiento está integrado a WP. Pero está atascado en cómo WP enruta las cosas, a menos que realmente profundice en su motor de reescritura y lo piratee, lo que podría interferir con otros complementos que pueda estar ejecutando.

¿Hay alguna manera de conectar el sistema de enrutamiento Laravel con el sistema de reescritura de WordPress?

No me interesé mucho en esto, como si necesitara utilizar una estructura de reescritura / ruta que sea lo suficientemente similar a WP, en primer lugar me habría quedado con WP. El principal motivador de mi proyecto fue que la estructura de ruta de mi dominio simplemente no cooperaría con los WP's.

Realmente no fue difícil configurar una ruta (es decir, post/{slug} ) para consultar la API de WP para el {slug} y obtener el contenido de la publicación.

    
respondido por el Steve Jamesson 02.09.2015 - 16:38
-1

¿Has visto CMS de octubre ?

La única razón por la que no lo usé para mi proyecto más reciente fue debido a SEO. El complemento de Yoast en WordPress solo maneja muchas cosas con las que no quiero lidiar con regularidad.

    
respondido por el Squish 19.01.2015 - 07:07

Lea otras preguntas en las etiquetas