web-dev-qa-db-fra.com

Ajout d'une colonne de courrier électronique à un écran d'administration Types de messages personnalisés?

J'essaie d'ajouter une colonne à mon écran Admin Type de message personnalisé qui affichera l'adresse électronique de l'auteur. Un conseil pour les codeurs novices (comme moi-même) décrivant comment accomplir cela? Je suis resté vide en cherchant un tutoriel spécifique à ce que j'essaie de faire.

Merci Sean

1
irishrunner16

Peut-être que vous pouvez essayer ceci:

add_filter('manage_edit-movie_columns', 'custom_add_new_columns');
function custom_add_new_columns( $columns ){
    $columns['author_email'] = 'Email';
    return $columns;
}
add_action('manage_movie_posts_custom_column', 'custom_manage_new_columns', 10, 2);
function custom_manage_new_columns( $column_name, $id ){
    if ('author_email'==$column_name){
     $current_item = get_post($id);
     $author_id = $current_item->post_author;
     $author_email = get_the_author_meta( 'user_email', $author_id);
     echo '<a href="mailto:'.$author_email.'">'.$author_email.'</a>';
    }
}

Ici, j'ai utilisé le type de message personnalisé movie. Vous devez remplacer les mots liés au film par votre nom de type d'article personnalisé.

Par exemple, si votre CPT est flower, les points d'ancrage devraient être manage_edit-flower_columns et manage_flower_posts_custom_column.

La première fonction ajoute l'en-tête des colonnes dans la table. La deuxième fonction ajoute le contenu de la colonne en fonction de la publication en cours.

1
Nilambar