web-dev-qa-db-ja.com

1人の著者による投稿の合計ワード数

1人の投稿者の総Word数を取得するにはどうすればよいですか。私は彼らのアウトプットの総Word数が全部の投稿に渡って合計されているのを見ることができることを望みます(理想的にはカテゴリー/タグ/ページまたは投稿による分類で)。

4

私は自分のサイト全体で公開されている単語の総数を合計するために Post Word Count と呼ばれるプラグインを使用します。著者だけなので、これは非常に単純な例です。しかし、このプラグインから始めて、作成者のIDに基づいてクエリを変更するフィルタを追加することもできます。基本的に:

function post_Word_count_by_author($author = false) {
    global $wpdb;
$now = gmdate("Y-m-d H:i:s",time());

    if ($author) $query = "SELECT post_content FROM $wpdb->posts WHERE post_author = '$author' AND post_status= 'publish' AND post_date < '$now'";
        else $query = "SELECT post_content FROM $wpdb->posts WHERE post_status = 'publish' AND post_date < '$now'";

$words = $wpdb->get_results($query);
if ($words) {
    foreach ($words as $Word) {
        $post = strip_tags($Word->post_content);
        $post = explode(' ', $post);
        $count = count($post);
        $totalcount = $count + $oldcount;
        $oldcount = $totalcount;
    }
} else {
    $totalcount=0;
}
return number_format($totalcount);
}

この関数は、(作者IDに基づいて)その作者によって発行されたすべての単語の総数を返します。著者IDを指定しないと、公開されているすべての単語の数が返されます。これは投稿のリビジョン、ドラフト、あるいはスケジュール投稿を数えず、現在ユーザに見えるものだけを数えます。

免責事項、これはまだテストしていませんが、元のPost Word Countプラグインに基づいており、問題なく動作するはずです。

4
EAMann

自己宣伝のために、私はあなたが必要とするものを提供するかもしれないWordカウントのためのプラグイン、 WP Wordカウント を持っています。

4
Brian J. Link