it-swarm.com.de

Gesamtwortzahl für Beiträge und Kommentare eines Autors

Wie kann ich Wörter in Posts + Tags + Kommentaren zählen und die Anzahl der von jedem Autor verwendeten Wörter anzeigen?

2
user55179

Führen Sie einige Abfragen und einen Codeausschnitt aus, um die Wortanzahl für den Inhalt der Posts, den Inhalt der Kommentare und die Tag-Namen für die einzelnen Posts zu berechnen.

// This query will return the number of words in the post content
$post_qry="SELECT LENGTH(post_content) - LENGTH(REPLACE(post_content, ' ', ''))+1 
from wp_posts where ID=".$post_id;
// This query will return the number of words in all comments for this post
$comment_qry="SELECT SUM(LENGTH(comment_content) - LENGTH(REPLACE(comment_content, ' ', ''))+1) 
from wp_comments where comment_post_ID=".$post_id;

$post_tags = get_the_tags();
$tag_words=0;
if ($post_tags) {
  foreach($post_tags as $tag)
  {
    $parts=explode(' ',$tag->name);
    $tag_words+=count($parts);
  }
}
$total_words=$post_words+$comment_words+$tag_words;

Ich habe keinen Code zum Ausführen der Abfragen eingefügt, da jeder seine eigenen Möglichkeiten zu haben scheint. Der größte Fehler bei diesem Ansatz ist, dass alle durch Leerzeichen getrennten Zeichenfolgen gezählt werden. Wenn Ihre Autoren Medieneinfügungen erstellen können, erhöhen diese Bilder/Videos die Anzahl der Wörter.

Wenn nahezu Perfektion erforderlich ist, ändern Sie die Abfragen, um nur den gesamten Text abzurufen (in MySQL nicht mitzählen). Führen Sie dann einige reguläre Ausdrücke aus, um HTML- und WP spezielle Inhalte wie Medienelemente zu entfernen. Zerlegen Sie schließlich die verbleibenden Zeichenfolgen im Leerzeichen und zählen Sie die Arrays.

Ich weiß nicht, wie ich zu absoluter Perfektion gelangen kann. Für mich ist der erste Ansatz gut genug.

1
Ray N. Franklin