J'essaie d'afficher chaque date de commentaire sur le tableau de la liste de commentaires sur l'écran d'édition post. Actuellement, seuls le nom de l'auteur, l'adresse IP et le contenu du commentaire sont affichés.
https://developer.wordpress.org/reference/classes/wp_post_comments_list_table/
Des indices?
Merci
Donc, il ne semble pas que vous puissiez faire "correctement" beaucoup pour résoudre ce problème, cependant, vous pouvez prendre quelques conseils de cette réponse et l'appliquer à votre problème:
<?php
add_filter( 'get_comment_author_IP', function( $comment_author_IP, $comment_ID, $comment )
{
global $pagenow;
if( is_admin() && 'post.php' === $pagenow && isset( $_GET['post'] ) ) {
$comment_date = do_something_to_get_comment_date($comment_ID);
$comment_author_IP .= ' <span>Posted On:</span> ' . $comment_date;
}
return $comment_author_IP;
}, 10, 3 );
Cela vous permet de modifier le contenu renvoyé avec l'adresse IP du commentaire. Vous devez absolument vous assurer que votre contrôle if
ne modifie que les données renvoyées dans le cas spécifique où vous en avez besoin. Vous devrez peut-être jouer avec la façon d'écrire cette condition pour éviter que vos données supplémentaires ne fuient à des endroits qu'il ne devrait pas être.
La réponse précédente consistait principalement à deviner ce que vous deviez faire, mais j’ai fait quelques tests sur ma propre installation WP. Un problème avec l'adresse IP de commentaire prioritaire est qu'il est utilisé pour former un lien permettant de rechercher des commentaires à partir de cette adresse IP. Au lieu de cela, nous utiliserons comment_author
puisqu'il ne s'agit pas d'une chaîne fonctionnelle dans l'interface utilisateur.
En outre, la porte que j'ai ajoutée était erronée, car les commentaires sont entrés AJAX lors de la modification d'un message. J'ai donc également mis à jour les contrôles:
add_filter( 'get_comment_author', function( $comment_author, $comment_ID, $comment )
{
global $pagenow;
if ( ! is_admin() ) {
return $comment_author;
}
if ( ! isset( $_POST['action'] ) || 'get-comments' !== filter_var( $_POST['action'], FILTER_SANITIZE_STRING ) ) {
return $comment_author;
}
$comment_author .= ' | ' . get_comment_date( '', $comment_ID );
return $comment_author;
}, 10, 3 );