Ich musste ein nerviges Problem auf einem WordPress Blog zu beheben: Benutzer Kommentare hinterlassen mit langen Sätzen. Dies ergab die Veröffentlichung des Textes, sowohl im Backend, noch schlimmer, im Frontend. Die Wirkung war wirklich schrecklich und auf Hand-zu vermeiden, jeden einzelnen Kommentar moderieren, war die einzige Lösung heraus zu filtern - irgendwie - die Ausgabe der Kommentare.
Zum Glück (und ist einer der Gründe, warum ich liebe alle Dinge WP) Wordpress können Sie einen Filter, um die Ausgabe der Kommentare hinzuzufügen. In meinem Fall war es genug, um in den Akten zu nehmen functions.php die folgenden Codezeilen:
1 2 3 4 5 6 7 8 9 10 11 12 | $content ) { filter_comment Funktion ($ content) { explode ( " " , $content ) ; $ A = explode ("", $ content); "" ; $ Content = ""; $a as $word ) { foreach ($ a as $ word) { strlen ( $word ) > 20 ) $word = substr ( $word , 0 , 20 ) . "[t...]" ; if ( strlen ($ word)> 20) $ word = substr ($ wort, 0, 20) "[t ...]".; ( $content == "" ) ? $word : ( " " . $word ) ; $ Content = ($ content == ""). $ Word:? ("." $ Word); } ; return $ content; } , 'filter_comment' ) ; add_filter ('comment_text', 'filter_comment'); , 'filter_comment' ) ; add_filter ('get_comment_text', 'filter_comment'); |
Die Worte sind zu lang (über 20) geschnitten werden und, am Ende, fügen [t...] -, um anzuzeigen, dass ein Wort abgeschnitten wird.










Es tut uns leid, was ist der Unterschied zwischen
und
und warum beides?
e
comment_text_rss. @ Vik: Die aktuelle Version von WordPress Sie den Filter auf beiden Funktionen kann sich bewerben, in Wahrheit gibt es auchget_comment_excerpt(), diecomment_excerpt()undcomment_text_rss.(come in molte altre funzioni scritte con questa nomenclatura) sta nel tipo di output: la prima,
comment_text(), emette l'output a video (cioè esegue unaechointerna) mentre la seconda,get_comment_text(), lo restituisce in una variabile, tipo: Doch der Unterschied zwischencomment_text()undget_comment_text()ist (wie in vielen anderen Funktionen in dieser Nomenklatur geschrieben) die Art der Ausgabe: das erste,comment_text(), macht die Bildschirmausgabe (dh ein laufendesechoim Inneren), während die zweite,get_comment_text(), kehrt in einer Variablen ein:nel frontend o nei vari temi. In dem Beispiel, wenn ich beide in setzen
get_comment_text()ist eine Menge im Backend verwendet, während diecomment_text()im Frontend oder in den verschiedenen Themen.. Durch Durchführen einer Reverse Engineering der Code, ist klar, dass die Funktion
get_comment_text()in entrocontennuta istcomment_text(). . Daraus folgt, dass es ausreichen würde, um die Filterfunktion gelten nurget_comment_text()zu handeln - indirekt - auch auf dercomment_text().il nostro filtro non avrebbe effetto. Anwenden des Filters auf nur Funktion
comment_text(), weil dort, wo wir hätten Teilergebnisse verwendetget_comment_text()unsere Filter würde keine Wirkung haben.Im Gegensatz dazu Anwenden des Filters auf
get_comment_text()- zumindest, wie es die aktuelle Engine von WordPress geschrieben wird - es wäre auf entrabe Funktionen handeln.