WordPress交流讨论群组

wordpress中自定义文章类型(custom post type)按作者发布文章数量排行

1 reply, 2 voices 最后回应 EMLink的头像 EMLink 3 years ago
  • Author
    Posts
  • #18091
    果舍网的头像
    果舍网
    Keymaster
    @guoshe

    本站在添加壁纸功能时遇到的自定义文章类型问题,其实在worpdress默认的文章类型里有wp_list_authors()可以使用,但是对于自定义类型,wp_list_authors()并不能使用。下面这段代码可以解决这个问题。将p.post_type=”wallpaper”换成你自己定义的文章类型。

    <?php
    global $wpdb;
    $top_authors = $wpdb->get_results("
    	SELECT u.ID, count(post_author) as posts FROM {$wpdb->posts} as p
    	LEFT JOIN {$wpdb->users} as u ON p.post_author = u.ID
    	WHERE p.post_status = 'publish'
    	AND p.post_type = 'Wallpaper'
    	GROUP by p.post_author
    	ORDER by posts DESC
    	LIMIT 0,10
    ");
    if( !empty( $top_authors ) ) {
    	echo '<ul>';
    $i=0;
    	foreach( $top_authors as $key => $author ) {
    $i++;
    		echo '
    		<li><span style="float:right;font-size:25px;font-weight: bold">'.$i.'</span><div class="item-avatar"><a href="' . get_author_posts_url( $author->ID ) . '">'.get_avatar( $author->ID , 50 ) . '</a></div><a href="' . get_author_posts_url( $author->ID ) . '">' . get_the_author_meta( 'nickname' , $author->ID ) . '</a>(' . $author->posts . ') 
    		</li>
    		';
    	}
    	echo '</ul>';
    }
    ?>

    最终呈现效果:
    wordpress list authors

  • #21314
    EMLink的头像
    EMLink
    Participant
    @emlink

    这个不错!很有想法!

You must be logged in to reply to this topic.