web-dev-qa-db-fra.com

Comment répertorier les auteurs de toutes les révisions?

Certains wordpress POST dispose de nombreuses révisions et je sais comment répertorier toutes les révisions, utilisez le code: wp_list_post_revisions( int|WP_Post $post_id, string $type = 'all' ).

Cependant, comment répertorier uniquement les auteurs de chaque révision de la publication, doivent se rencontrer:

  1. énumérer l'auteur de toutes les révisions;
  2. l'auteur ne répète pas; (Peut-être l'auteur édité le même message plusieurs fois)
  3. L'auteur a un lien vers sa page de profil

merci beaucoup!

1
老鹰之歌

L'utilisation peut utiliser ci-dessous cette fonction pour obtenir toutes les révisions dans les détails de l'auteur avec des copies vérifiées.

Selon vos besoins.

function  get_all_revisions($post_id){


//get all revisions of particular Page Id & Post Id

$revision = wp_get_post_revisions($post_id);

$post_author_id = array();

foreach ($revision as $key => $value) {
    

    // Check Id Already Exists in Array 
     
    if ( ! in_array($value->post_author, $post_author_id)) {

        // Store Author Id 
        $post_author_id[] = $value->post_author;

        $get_author['author_link'] = get_author_posts_url($value->post_author); // Author Link
        $get_author['author_name'] = get_the_author_meta( 'display_name', $value->post_author ); // Author Display Name

        //Store All Author Details in Array
        $get_author_group[] =  $get_author;

     } 
        
     
    }
    
    return $get_author_group;

}

Utilisation:

// 2 is page or post id
$all_revisions = get_all_revisions(2); 

//print_r($all_revisions);

foreach ($all_revisions as $key => $value) {
    
    echo $value['author_link'].'<br>';
    echo $value['author_name'].'<br>';

}
0
HK89

Je ne pense pas que vous puissiez l'obtenir en utilisant une fonction par défaut, mais assurez-vous que vous pouvez utiliser SQL personnalisé pour cela.

global $wpdb;
$post_id = get_the_ID();
$revisions = $wpdb->get_results( "SELECT pt.post_author FROM $wpdb->posts pt WHERE 1=1 AND pt.post_parent = '$post_id' AND pt.post_type = 'revision' AND pt.post_status = 'inherit' GROUP BY post_author ORDER BY pt.post_author ASC" );
0
Nilesh Chouhan