¿Existen técnicas para separar el código y el marcado en WordPress?

2 minutos de lectura

Generalmente trabajo con Python para crear aplicaciones web y me encanta cómo puedo trabajar por separado con las capas de código y presentación. Me gusta mucho trabajar con Jinja2. Pero, a veces tengo que trabajar con WordPress para mis clientes. Por lo tanto, me pregunto si hay alguna manera de hacer que el desarrollo de WordPress sea menos dolor de cabeza con todos sus header.php, index.php y footer.php, así como todas las demás piezas que pueden unirse bien o no. ¿Hay alguna sugerencia para hacerlo más conveniente?

De acuerdo con Denis, WordPress simplemente es espagueti, y no hay nada que puedas hacer al respecto. No obstante, si está escribiendo su propio código para WordPress (hacemos temas y complementos para nuestros clientes), no hay nada que le impida dividir las inquietudes en diferentes archivos, y descubrimos que es mucho más fácil de mantener de esa manera. Todavía tendrá que cooperar con situaciones en las que WordPress espera archivos PHP estándar, pero al menos nuestro el código se ve decente;)

Tristemente no. Y mejor que yo sepa, no hay ninguna inmediato planes para adoptar una arquitectura más similar a MVC.

Algunos han tratado de agregar Smarty en la parte superior y tal, pero al hacerlo, en su mayoría agrega hinchazón sobre la hinchazón existente. (El motor de plantillas de WP con frecuencia consta de lotes de llamadas de función que se llaman entre sí, cada una con su propio conjunto de filtros de complemento y variables globales).

Las respuestas de Denis y Berry son acertadas, pero también vale la pena señalar que hay un puñado de complementos que permiten patrones de diseño MVC dentro de WordPress. En mi opinión completamente sesgada, la más madura es WP MVC (o ver el documentación completa), que utiliza una estructura de archivos muy similar a las que se encuentran en Rails y CakePHP.

Otros complementos basados ​​en MVC incluyen tina mvc, Fábrica de complementosy churros.

Encuentro que poner todos los elementos de plantilla reutilizables como php separados, e incluir la lógica de presentación como una función/objeto de tema y la lógica comercial en un complemento de una manera correcta para separar las preocupaciones, ya que dichos objetos/funciones siempre están disponibles si se cargan correctamente. Las partes de la plantilla ahorran mucho tiempo si usa un código particular todo el tiempo (como migas de pan, por ejemplo). Sé que no es satisfactorio, pero la separación de preocupaciones es posible.

¿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