Je ne sais pas si vous avez remarqué, mais j’utilise souvent les même images miniatures dans la présentation des mes billets. Je le fait pour deux raisons :
- La première est que ces images sont spécialement taillées aux dimensions nécessaires pour la page d’accueil.
- La seconde est qu’elles sont optimisé (pas trop quand même) pour être légère.
Ces deux facteurs sont de nature à rendre l’affichage de ma page d’accueil rapide (en tout cas, c’est fait pour)
Par conséquent, je me retrouve souvent à rechercher une miniature dans des anciens billets, car je ne me rappelle plus bien de son nom dans la bibliothèque de médias. Je fais donc une recherche visuelle.
Le petit « hack » qui suit permet d’afficher ces miniatures directement dans la liste des billets rédigés sur le blog.
Lorsque j’insère cette image dans un billet, j’utilise un champ « custom » :
J’utilise cette technique car j’ai commencé avant que WordPress 2.9 et ses « post-thumbnails » ne sortent.
Pour arriver à ce résultat, il suffit d’insérer le code suivant dans le fichier function.php de votre thème :
if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {
// for post and page
//add_theme_support('post-thumbnails', array( 'post', 'page' ) );
function fb_AddThumbColumn($cols) {
$cols['thumbnail'] = __('Thumbnail');
return $cols;
}
function fb_AddThumbValue($column_name, $post_id) {
$width = (int) 75;
$height = (int) 75;
if ( 'thumbnail' == $column_name ) {
// lead-image thumbnail
$thumbnail_path = get_post_custom_values("leadimage");
if ($thumbnail_path[0]){
$path = get_option('upload_path');
echo "<img width='$width' height='$height' src='/$path/$thumbnail_path[0]' />";
return;
} else {
echo __('None');
}
}
}
// posts
add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
// pages
add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}
Si vous utilisez les miniatures supportées par WordPress 2.9 directement, sans passer par un champ custom, alors le code devient :
if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {
// for post and page
add_theme_support('post-thumbnails', array( 'post', 'page' ) );
function fb_AddThumbColumn($cols) {
$cols['thumbnail'] = __('Thumbnail');
return $cols;
}
function fb_AddThumbValue($column_name, $post_id) {
$width = (int) 75;
$height = (int) 75;
if ( 'thumbnail' == $column_name ) {
// thumbnail of WP 2.9
$thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
// image from gallery
$attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
if ($thumbnail_id)
$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
elseif ($attachments) {
foreach ( $attachments as $attachment_id => $attachment ) {
$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
}
}
if ( isset($thumb) && $thumb ) {
echo $thumb;
} else {
echo __('None');
}
}
}
// for posts
add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
// for pages
add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
C’est très pratique au quotidien et cela améliore ma productivité.
crédits: wp engineer
![websourcing-fr-images-in-admin websourcing fr images in admin 499x324 [Wordpress] Affichez les miniatures dans linterface dadministration](http://img2.websourcing.fr/files/2010/02/websourcing-fr-images-in-admin-499x324.png)
![champ-custom-lead-image-websourcing-fr champ custom lead image websourcing fr 500x163 [Wordpress] Affichez les miniatures dans linterface dadministration](http://img2.websourcing.fr/files/2010/02/champ-custom-lead-image-websourcing-fr-500x163.png)