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 class="sidebar">
<li class="post">
<img src="<?php echo get_post_meta($post->ID, 'KEY_DEFINIDA', true); ?>" alt="<?php the_title(); ?>" class="align_left" />
<?php the_excerpt('Leer más'); ?>
</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 😀
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 😀
10 comentarios, 2 referencias
+
#