Est-il possible de modifier les valeurs de la colonne author dans la section edit-comments.php du backend? Un crochet? Je souhaite modifier le champ mailto du courrier électronique du commentateur afin d'inclure un sujet et un corps. Je suis à peu près sûr d'avoir trouvé où quelqu'un avait dit qu'il y avait un moyen de le faire il y a quelques mois, mais je ne le retrouve pas.
Voici comment la partie email est affichée par la méthode WP_Comments_List::column_author()
:
/* This filter is documented in wp-includes/comment-template.php */
$email = apply_filters( 'comment_email', $comment->comment_author_email, $comment );
if ( ! empty( $email ) && '@' !== $email ) {
printf( '<a href="%1$s">%2$s</a><br />', esc_url( 'mailto:' . $email ), esc_html( $email ) );
}
vous êtes donc probablement à la recherche du filtre comment_email
.
Mise à jour:
Voici un hack pour ajouter un sujet et un corps à la partie mailto
:
add_filter( 'comment_email', function( $email )
{
// Target the edit-comments.php screen
if( did_action( 'load-edit-comments.php' ) )
add_filter( 'clean_url', 'wpse_258903_append_subject_and_body' );
return $email;
} );
function wpse_258903_append_subject_and_body( $url )
{
// Only run once
remove_filter( current_filter(), __FUNCTION__ );
// Adjust to your needs:
$args = [ 'subject' => 'hello', 'body' => 'world' ];
// Only append to a mailto url
if( 'mailto' === wp_parse_url($url, PHP_URL_SCHEME ) )
$url .= '?' . build_query( $args );
return esc_url( $url );
}
Notez que ceci cible la première esc_url()
après chaque application du filtre comment_email
, sur la page edit-comments.php
.
Nous avons ajouté une vérification mailto pour nous assurer que c'est bien pour la partie email.