Comunidad de diseño web y desarrollo en internet online

Integrar shortcodes directamente en el tema Wordpress

Citar            
MensajeEscrito el 07 Ene 2010 01:56 am
Buen dia, estimados foreros de crsitalab, soy nuevo en el foro, y espero que me puedan ayudar con mi inconveniente, tratare de ser lo mas claro posible:
Intento desarrollar en Wordpress un tema como el de la figura:



Los plugins que utilizaría o que utilizo son para los videos de youtube tubepress y para la galería de flickr pictobrowser. Ellos funcionan muy bien, incluso modifique el stilo del tubepress para que quedara como en la figura. El pictobrowser si es un objeto embebido no supe como cambiarlo, pero eso es irrelevante en este momento. Ellos utilizan “ShortCodes” (no estoy seguro si estoy utilizando bien el termino), tubepress utiliza [tubepress] y este código cuando se pone en una entrada del blog o en una pagina o incluso en un widget de texto, es interpretado sin ningún problema. Subrayo que no tengo ningún problema con el funcionamiento de los plugins.
Como adverti al inicio soy novato en Wordpress, y se me ocurrió que la forma mas fácil de llegar a la estructura que plasma la imagen era modificando directamente el tema, y pues asumi que wordpress podría tener una función que me interpretara los shortcodes, y me devolviera el código que estos generan, pero hasta el momento no lo he encontrado, para ser mas grafico, crei que había algo similar a esto:
$codigoGenerado = función_que_interpreta_shortcodes(‘ShortCode’);
Bueno mis inquietudes ahora que ya los puse en contexto son:

1. ¿Existe esta función que me permita hacer esto?.
2. Que otra forma se les ocurriría para llegar a la distribución que se muestra en la imagen?
De antemano gracias por los aportes que puedan hacer al respecto.

Por Gio3000

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Ene 2010 04:33 pm
Bueno encontré que la pregunta 1 si tiene respuesta y la función es do_shortcode(), y en teoría se usaría en el tema de la siguiente forma:

echo do_shortcode("[tubepress]");

pero pues sale el código tal cual sin mas: [tubepress].

Inicialmente pensé que podría ser que las funciones que utilizaba el plugin no estaban disponibles así que le agregue una comprobación:

<?php if(function_exists('tubepress_load_classes')) { echo do_shortcode("[tubepress]"); } ?>

pero sigue saliendo igual, lo que indica que las funciones del plugin existen.

Alguien tiene idea de que puedo estar haciendo mal?? gracias de antemano por sus respuestas.

Por Gio3000

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 08 Ene 2010 11:00 am
Te recomiendo que uses add_shortcode, es mas clara la funcion, puedes verlo aqui. A add_shortcode debes pasarle 2 parametros, el shortcode y la funcion que debe realizar cuando de ejecute.

Por Dientuki

Claber

2021 de clabLevel

11 tutoriales
1 articulo

Genero:Masculino   Héroes

Front-end Ninja

firefox
Citar            
MensajeEscrito el 15 Ene 2010 03:53 pm
Gracias por tu respuesta, pero no se si entiendo como funciona esto, pero en mi ignorancia creo que add_shortcode se utiliza cuando quiero registrar un shorcode, no cuando necesito que sea interpretado, corrígeme por favor si estoy equivocado.

Bueno de todas maneras encontré una forma no muy standart, pero funciona y hace lo que yo necesitaba que hiciera (agregar contenido de plugins que utilizan shortcodes pero directamente en el código del tema).

Explicare como se hace para el plugin tubepress, pero probé con otros y el detalle esta en encontrar la función que realiza la interpretación de shortcode y devuelve el código html para el mismo.

En tubepress la función que interpreta el shortcode es 'tubepress_content_filter($content=" ")', que se encuentra en el archivo "tubepress\env\WordPress\functions\main.php", esta función retorna el código html que genera el shortcode, por lo tanto simplemente en el tema debo poner un código como el siguiente:

<?php
if(function_exists("tubepress_content_filter"))
{
echo tubepress_content_filter("[tubepress]");
}
?>

y eso es todo, como dije antes esto se puede hacer para cualquier plugin que utilice los dichosos shortcodes.

de nuevo gracias por vuestro comentario, espero que si alguien conoce la forma correcta de hacer esto (o por lo menos una forma mas limpia de hacerlo), por fa lo comparta.

Por Gio3000

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.