WordPress: filtrar el contenido de los comentarios

He tenido que arreglar un problema molesto en un blog de WordPress: los usuarios dejaron comentarios con frases largas. Esto produjo la publicación del texto, tanto en el backend, peor aún, en la portada. El efecto fue realmente horrible y para evitar la mano para moderar todos los comentarios individuales, la única solución era para filtrar hacia fuera - de alguna manera - la salida de los comentarios.
Afortunadamente (y es una de las razones por las que el amor todo lo WP) Wordpress le permite agregar un filtro a la salida de los comentarios. En mi caso fue suficiente para añadir en el archivo functions.php las siguientes líneas de código:

1
2
3
4
5
6
7
8
9
10
11
12
$content ) { función filter_comment ($ contenido) {
explode ( " " , $content ) ; $ A = explotar ("", $ contenido);
"" ; $ Contenido = "";
$a as $word ) { foreach ($ a como $ palabra) {
strlen ( $word ) > 20 ) $word = substr ( $word , 0 , 20 ) . "[t...]" ; if ( strlen ($ palabra)> 20) $ palabra = substr ($ texto, 0, 20) ". [t. ..]";
( $content == "" ) ? $word : ( " " . $word ) ; "Palabra $? $ ​​Contenido .= ($ contenido ==") ("" $ palabra.)
}
; return $ contenido;
}

, 'filter_comment' ) ; add_filter ('comment_text', 'filter_comment');
, 'filter_comment' ) ; add_filter ('get_comment_text', 'filter_comment');

Las palabras son muy largas (más de 20) se cortan y, al final, añadir [t...] - para indicar que una palabra se corta.

2 comentarios para "WordPress: filtrar el contenido de los comentarios"

  1. 06 de febrero 2010 vik :

    Excusa de que la diferencia entre

    1
    comment_text

    y

    1
    get_comment_text

    y ¿por qué utilizar los dos?

  2. 07 de febrero 2010 Giovambattista Fazioli :

    e comment_text_rss . @ Vik: la versión actual de WordPress se puede aplicar el filtro a las dos funciones, en verdad, también hay get_comment_excerpt() , el comment_excerpt() y comment_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 una echo interna) mentre la seconda, get_comment_text() , lo restituisce in una variabile, tipo: Sin embargo, la diferencia entre comment_text() y get_comment_text() (como en muchas otras funciones escritas en esta nomenclatura) es el tipo de salida: el primero, comment_text() , emite la salida de la pantalla (es decir, ejecutar un echo en el interior), mientras que el segundo, get_comment_text() , regresa en un tipo de variable,:

    1
    get_comment_text ( ) ; $ Comentario = get_comment_text ();

    nel frontend o nei vari temi. En el ejemplo, cuando he publicado tanto en get_comment_text() se utiliza mucho en el backend, mientras que el comment_text() en la interfaz o en los diferentes temas.
    . Sin embargo, al realizar una ingeniería inversa del código, es claro que la función get_comment_text() está en entrocontennuta comment_text() . . De ello se desprende que sería suficiente para aplicar la función de filtro sólo get_comment_text() para actuar - indirectamente - también en el comment_text() .
    il nostro filtro non avrebbe effetto. De aplicar el filtro a la única función comment_text() , porque allí donde tendríamos resultados parciales se utiliza get_comment_text() nuestro filtro no tendría ningún efecto.
    Por el contrario, aplicar el filtro a get_comment_text() - por lo menos como está escrito, el motor actual de WordPress - que actuaría en las funciones entrabe.

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL