Ajout fonctionnalité back office WordPress

2 mai 2013 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

L’administration des posts de WordPress est bien, mais si on pouvait y rajouter nos éléments, elle serait mieux.
On va voir comment ajouter les images à la Une directement dans la liste des articles :

image_admin

Tout se passe dans le fichier functions.

On commence par ajouter une colonne :

add_filter('manage_edit-post_columns', 'post_column');

function post_column($columns) {

    $columns = array(
        'cb'         => '<input type="checkbox" />',
        'portrait'   => '<img src="'.get_bloginfo("template_url").'/img/Portrait-icon.png" />',
        'title'      => 'Titre',
        'author'     => 'Auteur',
        'categories' => 'Catégories',
        'tags'       => 'Mots-clefs',
        'comments'   => 'Commentaires',
        'date'       => 'Date'
    );

    return $columns;
}

Ici, on réécrit complètement la structure des colonnes. Tous sont des éléments par défaut (sauf la colonne portrait), il faut donc respecter la syntaxe des ID, la valeur peut quant à elle changée.
Dans notre exemple, j’ajoute simplement une colonne qui aura pour ID portrait et en guise de titre une image.

Il nous reste plus qu’à dire ce que cette colonne va contenir :

add_action('manage_posts_custom_column', 'posts_columns');

function posts_columns($column) {
    switch ($column) {
    case "portrait":
    the_post_thumbnail('thumbnail');
      break;
  }
}

Là, on a besoin de faire un switch sur les colonnes (les éléments par défaut sont automatiquement configuré si on garde bien la syntaxe :)).
Au moment de la boucle, quand notre identifiant : portrait arrive, on lui précise ce qu’il va contenir, à savoir ici : l’image à la Une avec comme taille : thumbnail.

Et voilà, c’est fini, maintenant, tous vos articles auront un visuel.

Vous pouvez paramétrer vos colonnes en fonction de vos custom post types, pour cela je vous laisse regarder le codex afin de savoir la bonne action/filtre de WordPress.

Pour les plus pressé ^^

– action : manage_{$post_type}_posts_custom_column
– filtre : manage_edit-{$post_type}_columns

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories