Posted by planetawordpress on Marzo 11, 2010
Para los más inquietos de nosotros, los que gustamos de subir por FTP un montón de imágenes a nuestro site con nombres de archivo fáciles y luego utilizarlas rápidamente cuando escribimos un artículo (sin las complicaciones del Media Uploader), tenemos a nuestra disposición un muy buen truco para acelerar esa inclusión.
Para ello, abriremos functions.php y pegaremos el siguiente código:
function image_shortcode($atts, $content = null) {
extract( shortcode_atts( array(
'name' => '',
'align' => 'right',
'ext' => 'png',
'path' => '/wp-content/uploads/',
'url' => ''
), $atts ) );
$file=ABSPATH."$path$name.$ext";
if (file_exists($file)) {
$size=getimagesize($file);
if ($size!==false) $size=$size[3];
$output = "<img src='".get_option('siteurl')."$path$name.$ext' alt='$name' $size align='$align' class='align$align' />";
if ($url) $output = "<a href='$url' title='$name'>".$output.'</a>';
return $output;
}
else {
trigger_error("'$path$name.$ext' image not found", E_USER_WARNING);
return '';
}
}
add_shortcode('image','image_shortcode');
Este código debe, por supuesto, abrirse y cerrarse con los tags de apertura y cierre de PHP e incluirse al final de functions.php o bien entre las diversas funciones que allí ya tengamos especificadas.
Luego, en nuestros artículos, no tendremos más que escribir el siguiente shortcode:
[image name=Montevideo]
“Montevideo” es el nombre del archivo Montevideo.png.
Notad que aquí hemos permitido la inclusión de archivos en formato .png (pueden ser en .jpg pero lo tenéis que cambiar).
Esperamos que este truco sea de vuestra utilidad.
Posted by planetawordpress on Marzo 11, 2010

Ya hemos visto muchas maneras de personalizar WordPress con shortcodes pero estas pequeñas maravillas pueden usarse en muchos más sitios que en el editor de entradas, aquí tienes unos cuantos buenos ejemplos …
Shorcodes en widgets de texto
Lo primero es añadir este código al fichero functions.php de tu tema activo:
PHP:
-
add_filter( 'widget_text', 'shortcode_unautop');
-
add_filter( 'widget_text', 'do_shortcode');
La segunda línea es la que hace que funcionen los shortcodes en el widget de texto. Además, hay que tener en cuenta que los widgets de texto tienen una casilla para "añadir saltos de párrafo automáticamente", pues bien, la segunda linea inhabilita el código autop que podría, en caso de estar marcada la casilla, meter el shortcode introducido en un párrafo o incluso romper las tags.
Shortcodes en el tema
También se pueden usar shortcodes en el tema que uses. Para ello utilizamos la función do_shortcode() en la que el argumento será una cadena que contendrá el shortcode.
Por ejemplo, para mostrar el shortcode [publicidad] en tu tema pondrías algo así donde quieras que aparezca el resultado esperado:
PHP:
-
<?php do_shortcode('[publicidad]'); ?>
La función do_shortcode() acepta cualquier tipo de texto. Si la cadena contiene un shortcode procesará ese código. De este modo, por ejemplo, podrías mostrar manualmente contenido de tus entradas de este modo:
PHP:
-
<?php
-
$content = get_the_content();
-
echo do_shortcode
($content);
-
?>
Shortcodes en comentarios
De nuevo recurrimos al fichero functions.php para añadirle este código que permite shortcodes en los campos de comentarios:
PHP:
-
add_filter( 'comment_text', 'shortcode_unautop');
-
add_filter( 'comment_text', 'do_shortcode' );
Shortcodes en extractos
Ahora, en functions.php añadiremos esto para poder insertar shortcodes en los extractos de entrada:
PHP:
-
add_filter( 'the_excerpt', 'shortcode_unautop');
-
add_filter( 'the_excerpt', 'do_shortcode');
Shortcodes en la descripción de usuario
Para poder meter shortcodes en la descripción del usuario hay que pasar la cadena de descripción por la función do_shortcode(). Para ello tendrás que añadir esto a tu tema activo:
PHP:
-
<?php
-
// $user_id = 3;
-
$userdata = get_userdata($user_id);
-
echo do_shortcode
($userdata->
description);
-
?>
Solo tendrás que cambiar el ID de usuario, en este caso el 3.
Shortcodes en descripciones de etiquetas, categorías y taxonomías
También puedes filtrar estas descripciones. Para ello recurrimos de nuevo al fichero functions.php:
PHP:
-
add_filter( 'term_description', 'shortcode_unautop');
-
add_filter( 'term_description', 'do_shortcode' );
Un mundo de posibilidades más ¿no?
¿Te gustó este post? ¡Compártelo!
Posted by planetawordpress on Diciembre 22, 2009
Un “shortcode” es una pequeña línea con código al estilo bbCode (entre corchetes “[codigo]“), que desempeña una función especificada, la que vosotros pongáis. Entonces, ¿como se crean?
Es simple: lo único que debéis hacer es agregar una función al fichero functions.php, de esta manera:
function nombre() {
return 'Aquí va el texto que quieres usar (texto porque es un return)';
}
Ahora, podéis reemplazar el nombre, y lo que hace, allí pusimos un valor return, que imprime texto. Pero así se puede poner cualquier código PHP.
Luego, se agrega esto, para convertir la función en un shortcode (justo después de creada vuestra función):
add_shortcode('nom', 'nombre');
Como podréis ver, se define primero cómo se llamará vuestro shortcode (en este caso, nom) y luego la función a la que llamará (nombre). Así, si escribís [nom] en el post (siempre desde la edición HTML), el shortcode funcionará y mostrará el texto: “Aquí va el texto que quieres usar (texto porque es un return)”
Como dije, se puede cambiar la función que desempeña para usarlo para lo que queráis, esta es la manera mas simple.
Vía: WPRecipes
Posted by planetawordpress on Diciembre 9, 2009
Ayer se celebró la primera reunión en IRC sobre bbPress, y para aquellos que dudan de la buena salud y futuro de este sistema de foros hay muchas y buenas noticias.
En la charla participó el mismo Matt Mullenweg y gente como San Milward desarrollador de wp-ecommerce, John James Jacoby, colaborador del núcleo de BuddyPress, Ryan Hellyer de PixoPoint.com o Justin Tadlock, entre otros muchos genios del código de WordPress.
En la hora de conversación se propusieron y comentaron algunas de las que pueden ser las líneas maestras de bbPress, a saber …
- Asociar posts de blogs a hilos para integración.
- bbPress estará disponible como software por si solo o migrarlo para que sea un plugin para WordPress que se autoinstalaría desde WordPress. Con esto se eliminaría la necesidad de integrar themes, perfiles, etc. Esta idea parece que encontró muchos adeptos.
- Integración profunda (incluso themes) entre bbPress y WordPress para la versión de bbPress 1.2.
- Shortcodes bbPress para WordPress.
- Perfiles de usuario integrados entre WordPress y bbPress, pudiendo ver sus posts y sus hilos.
- Envío y avisos de hilos por email.
- Crear un Codex para bbPress con documentación extensiva.
- Rediseño de la web de bbPress.org para hacerla más viva - actualmente parece un proyecto muerto por lo antigua que se ve - y añadir cosas tales como navegador de themes y cosas así.
- Mensajes privados, encuestas, hilos resueltos y gestión de usuarios en el core de bbPress/WordPress.
- Ya que estaban confirmaron (casi) la integración de WordPress y Mu en WordPress 3.0.
- Para integrar bbPress y WordPress visualmente se usarían plantillas de página.
- Popups en Lightbox para registros, mensajes privados, etc, de modo que las plantillas no tengan un montón de código o haya que añadir subpáginas.
- Se va a hacer una encuesta a los usuarios para preguntarles por las características que queremos en la versión 1.1 de bbPress.
Como veis ha habido un poco de todo, una especie de tormenta de ideas para relanzar bbPress de un modo que sea realmente sencillo, integrado, fácil para el usuario, o sea, al estilo WordPress.
Por supuesto, habrá algún problemilla por el camino si se opta por la opción de hacer de bbPress un plugin al estilo BuddyPress, como la compatibilidad de plugins, la exportación hacia el nuevo sistema y esas "cosillas" pero hay un largo camino y, sobre todo, una larga vida para bbPress, en la forma que sea.
¿Te gustó este post? ¡Compártelo!