Présentation
Pour réaliser une galerie photo facile à administrer pour un client, j’ai utilisé l’extension WordPress ACF pour créer un type de post personnalisé que j’ai appelé « gallery ». Je l’ai configuré pour conserver les champs « titre » et « catégorie » et retirer le contenu et les étiquettes. Toujours avec ACF j’ai ensuite ajouté un champ de type image appelé « photo » permettant d’uploader ses photos ou de les ajouter depuis la médiathèque qui à été configuré pour retourner le tableau de l’image.
Afin de lui simplifier la gestion de cette galerie, j’ai souhaité afficher un aperçu des photos dans la liste des posts de son panneau d’administration. Pour ce faire, j’ai intégré le code suivant dans une extension créée pour son site mais il est aussi possible de l’insérer dans le fichier fonctions.php de votre thème.
Code
<?php
/**
* Add a column names photo_thumbnail to the table
*/
function add_thumbnail_columns($columns) {
$new_columns = array();
foreach($columns as $key => $value) {
if ($key == 'title') { // Put the Thumbnail column before the title column
$new_columns['photo_thumbnail'] = __('Thumbnail');
}
$new_columns[$key] = $value;
}
return $new_columns;
}
add_filter('manage_edit-gallery_columns', 'add_thumbnail_columns');
/**
* Output ACF photo in the photo_thumbnail column
*/
function thumbnail_columns_content($column, $post_id) {
if ($column == 'photo_thumbnail') {
$post = get_post($post_id);
setup_postdata($post);
$image = get_field('photo');
echo '<a href="'.get_edit_post_link().'"><img src="'.$image['sizes']['thumbnail'].'" /></a>';
wp_reset_postdata();
}
}
add_filter('manage_gallery_posts_custom_column' , 'thumbnail_columns_content', 10 , 2);
Explications
La fonction add_thumbnail_columns() permet d’insérer la colonne appelée photo_thumbnail entre la case ç cocher et le titre de la photo.
La fonction thumbnail_columns_content() permet d’insérer la photo dans la ligne avec le lien vers l’éditeur.
0 commentaires