WordPress es una plataforma maravillosa, que te permite tener un gestor de contenidos (CMS) muy interesante no sólo para Blogs, sino también para sitios web. Pero seguramente si quieres hacer algo más elaborado, necesitarás poder insertar código php en páginas, post o widgets. La forma más prolija de hacerlo, es mediante Shortcodes.
Te recomiendo, antes de ponerte a trabajar en esto, hacer una copia del archivo functions.php de tu tema de WordPress, pues lo modificaremos y si metemos la pata, podemos recurrir a este resguardo ( ;) Ojo, que me pasó varias veces y si no tienes esta copia, puede dejar de funcionar todo el sistema).
En mi caso, agrego a una página de WordPress, un Libro de Visitas que ya tenía generado. En el lugar que quiera mi libro de visitas, sólo deberé agregar [miLibro] y listo !
Los pasos a generar Shortcodes son los siguientes:
1-Editar el archivo functions.php de tu tema de WordPress y agregar las siguientes líneas al final, que genera una función llamada miScriptPHP y luego agrega el shortcode para ser usado luego:
function miScriptPHP ($atts) { include ( TEMPLATEPATH .»/libro-visitas.php»); }
add_shortcode (‘miLibro’, ‘miScriptPHP’);
2-Abrir cualquier página, entrada o widget y escribir mediante el código corto entre corchetes [miLibro]
Automáticamente tendrás tu código php donde lo necesites. Ten en cuenta, que la función include, no puede usarse con una URL completa, por eso utilicé la etiqueta TEMPLATEPATH , que me da la ruta al tema de WordPress y así incluyo el archivo en cuestión.
[fuente: eHow]
Utilísimo el post, de verdad. Y más útil todavía aconsejar hacer la copia de seguridad de cualquier archivo que vayamos a tocar. También me ha pasado a veces y, la verdad, no es nada agradable :)
Saludos!
Gracias Carmen ! Sí, viste qué nervios cuando deja TODO de funcionar por una simple coma ?? 1000 gracias por comentar
yo tengo un pequeño inconveniente:
estoy desarrollando un plugin. el shortcode me funciona sí, pero solo en los post. en las páginas no se visualiza.
Qué raro, Néstor. Yo justamente lo tengo implementado en una página. Utilizás la herramienta del Navegador Chrome ? Ir a la pestaña de la derecha, Herramientas- Herramientas para desarrolladores y allí te aparece la codificación. Fijate que está mostrando el código mismo
Hola.
Me parece muy interesante lo que comentas. Pero a mí si pongo en vez de include(«») un return hola si me lo pone en la página pero el código que tu has puesto arriba (creando la página php con un echo ‘hola’; no me funciona.
Hay algo más que tenga que hacer.
Muchas gracias por adelantado
Hola Pablo, disculpame que no había visto tu comentario. A veces, si el archivo al que remite el include tiene espacios en blanco o pedazos de html no funciona bien. Hacé la prueba, de borrar todo lo innecesario que tenga ese archivo, hasta la etiqueta » < ? php " ( aunque el mío tiene , eh? Sólo para probar)
Artículo muy útil, es justo lo que andaba buscando, gracias por el aporte. Un saludo.
Gracias a vos por comentar ! Saludos!