Esta mañana con
Ignacio Lledó hemos llegado a desarrollar un sistema con el que hacer que la primera imagen subida a nuestro post, pase ser la foto del post. Y todo ello sin plugins.
Antecendentes

Como vemos en la imagen queremos mostrar una imagen, en este caso en el sidebar de nuestro Wordpress y queremos ver una imagen relacionada al artículo. Inicialmente se hacía de forma manual, el usuario insertaba la URL de la imagen en un campo personalizado al que le dama un nombre ya pactado con el resto de usuarios para así poder repescarlo en el sidebar.

Una vez insertada la URL, unicamente había que indicar en el HTML del sidebar.php de nuestro theme la URL de la imagen que queremos que aparezca.
....
<ul>
<li>
<img src=http://www.anieto2k.com/category/wordpress/"<?php echo get_post_meta($post->ID, 'KEY_DEFINIDA', true); ?>" alt="<?php the_title(); ?>" />
<?php the_excerpt(); ?>
<a href="<?php the_permalink(); ?>#more-<?php echo $post->ID?>">Leer más</a>
</li>
....El sistema funciona, pero ¿por que no hacerlo más fácil?
Haciendoló más fácil al usuario
Para empezar dejamos el theme igual que el sistema anterior, seguimos leyendo la información de la misma
KEY_DEFINIDA con la que los usuarios ya se han familiarizado. Ahora tendremos que hacerles el trabajo nosotros :D
Para añadir la funcionalidad podemos elegir uno de los 3 posibles sistemas de los que podemos hacer uso para añadir funcionalidades a Wordpress.
- Mediante un plugin
- En el fichero my-hacks.php
- En el fichero functions.php de nuestro theme
En este caso hemos optado por el fichero
functions.php de nuestro theme ya que esta funcionalidad está ligada completamente al diseño y si cambiamos de diseño, quizas no necesitemos que siga ejecutandosé.
Así que añadimos el siguiente código:
// Cambia el nombre del META
define ("META_KEY", "KEY_DEFINIDA");
function auto_add_meta_images($postID) {
// Solo añadirá la primera imagen como Meta
$post = get_post( $postID );
if (!get_post_meta($postID, META_KEY, true))
add_post_meta($post->post_parent, META_KEY, $post->guid);
return $postID;
}
add_action('add_attachment', 'auto_add_meta_images');¿Como funciona?
Con este sistema, únicamente tendremos que dedicarnos a subir imágenes mediante el sistema de subidas de Wordpress 2.5 o superior y el automáticamente almacenará en el Campo personalizado definido previamente con la dirección de la primera imagen que subamos.
Conclusión
Con wordpress podemos hacer lo que queramos y la imaginación es el límite. Las cosas más simples a veces pueden serlo todavía más :D
Artículos relacionados
Compártelo