web-dev-qa-db-fra.com

Nombre total de mots pour les messages d'un auteur

Comment puis-je obtenir le nombre total de mots d'un article d'auteur? J'aimerais pouvoir voir quel est le nombre total de mots de leur sortie, résumé pour l'ensemble de leurs messages (idéalement avec une ventilation par catégorie/tag/page/message).

4
Brighid McDonnell

J'utilise un plug-in appelé Post Word Count pour résumer le nombre total de mots publiés sur l'ensemble de mon site ... là encore, je suis le seul auteur. Il s'agit donc d'un exemple assez simple. Mais vous pouvez commencer avec ce plug-in et ajouter un filtre qui modifie la requête en fonction de l'ID de l'auteur. Fondamentalement:

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

Cette fonction renverra le nombre total de mots publiés par cet auteur (en fonction de l'ID de l'auteur). Si vous ne spécifiez pas d'ID auteur, le nombre de mots publiés sera renvoyé. Cela ne comptera pas les révisions, les brouillons ou les publications programmées, mais uniquement celles qui sont actuellement visibles par les utilisateurs.

Avertissement, je n'ai pas encore testé cette solution, mais elle est basée sur le plug-in d'origine Post Word Count et devrait fonctionner correctement.

4
EAMann

Dans l’intérêt de l’auto-promotion, j’ai un plugin, WP Word Count , pour le compte Word qui peut offrir ce dont vous avez besoin et un peu plus

4
Brian J. Link