如何列出所有版本的作者?

时间:2020-12-30 作者:老鹰之歌

一些wordpress帖子有很多修订,我知道如何列出所有修订,请使用代码:wp_list_post_revisions( int|WP_Post $post_id, string $type = \'all\' )

然而,如何在帖子中只列出每个修订版的作者,需要满足:

列出所有修订的作者

  • 作者有一个指向其个人资料页的链接
    1. 非常感谢!

    2 个回复
    最合适的回答,由SO网友:HK89 整理而成

    Use可以在下面使用此函数获取作者详细信息中的所有修订,并选中副本。

    根据您的需要。

    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;
    
    }
    
    用法:

    // 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>\';
    
    }
    

    SO网友:Nilesh Chouhan

    我不认为您可以通过使用任何默认函数来获得它,但请确保您可以使用自定义SQL来实现这一点。

    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" );
    

    相关推荐

    返回BBP_GET_TOPIC_Author_id整型

    正如标题所示,我希望将主题作者作为一个整数,我将其与myCRED结合使用,到目前为止,我已经尝试了以下方法:$user_id = bbp_get_topic_author_id( $topic_id = 0 ); $mycred = mycred(); if ( ! $mycred->exclude_user( $user_id ) ) $mycred->update_users_balance( $user_id, 1 ); 我假设bb