Wordpress tiene funciones (especificamente, etiquetas para las plantillas) que de forma transparente realizan otras funciones un poco más tediosas. Pero, como era de esperarse, mucho control por parte de uno se puede convertir en una invasión al territorio del otro.
Tomemos el ejemplo de la función comments_popup_link() que (basicamente) produce el siguiente código: <a href="post#comments" title="titulo del post">….
En mi caso en particular yo suelo utilizar código HTML en los títulos de las anotaciones. Entre todos esos caracteres siempre puede aparecer " que provoca problemas (apareciendo sin control) cerrando @title antes de tiempo. Entonces una solución es evitar comments_popup_link() y hacer todo a mano:
<a href="<?php the_permalink(); ?>#comments" title="<? echo (strip_tags(get_the_title())); ?>
En principio hay un imprudencia por parte de Wordpress en usar el título sin arreglarlo antes, pero ¿cuál es la forma correcta de solucionar esto?
- Agregar funciones de más bajo nivel (como
get_the_title()) a la plantilla. Lo malo es que habría que copiar la misma linea en cada página, además de recordar de utilizarla en cada nueva plantilla a través del tiempo. - Modificar la función en los archivos de Wordpress. Lo malo es que al momento de actualizar hay que rescatar todas las lineas propias antes de que sean sobreescritas. Sumado a esto, uno no puede distribuir tan facilmente sus propias plantillas porque no todos modificaron la función.
En este caso es sencillo, pero hay otros casos en que no me resultaría tan fácil reformular con otras funciones y que en realidad me sería más fácil modificar la función que está molestando.
Where on the heck does a hack belong?
5 comentarios.
Diego
Yo tocaria la funcion, sin pensarmelo dos veces
25 de enero de 2006
sosa
¿y si haces un plugin? asi al actualizar no se afectan tus modificaciones.
25 de enero de 2006
Federico
Sosa: Lo pensé, pero todavía no ví como se hacen. My fault.
25 de enero de 2006
Ismael
Opino que hacer un plugin con todas las funciones propias es la mejor solución (no es difícil). Igual no soy fanático de la arquitectura de Wordpress pero para ese tipo de extensiones los plugins estan muy bien.
25 de enero de 2006
Federico
Dos votos a favor del plugin. El plugin será considerado seriamente.
25 de enero de 2006