Desinfecte en wordpress pero mantenga html

1 minuto de lectura

Entiendo que desinfectar la entrada del usuario es importante y quiero asegurarme de que se eliminen las cosas malas, pero también quiero que los usuarios agreguen html a un campo personalizado.

La función de campo de texto de desinfección de wordpress hace un gran trabajo, pero quiero decirle que mantenga html.

¿Hay otra función que pueda usar que me permita hacer eso?

Stackoverflow no me permite publicar una pregunta breve, por lo que parece que necesito completarla. Perdón por esto.

Intenté buscar la función en el códice de wordpress para ver si hay parámetros que puedo cambiar para que permita html. Saqué la función de desinfección para ver si funciona y, por supuesto, sí.

  • No es un duplicado, pero ¿ayudaría la respuesta a esta pregunta? stackoverflow.com/questions/2127009/…

    – usuario1725145

    20 de enero de 2014 a las 14:38

wp_kses() hará lo que necesite. Necesitas decirle qué etiquetas permitir. Alternativamente, use wp_kses_post() que permite cualquier cosa que pueda agregar a una publicación. Sin embargo, es posible que este no sea lo suficientemente estricto para la entrada del usuario, por lo que sugeriría ir con el primero.

echo wp_kses( $text, array( 
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
    'em' => array(),
    'strong' => array(),
) );

http://codex.wordpress.org/Function_Reference/wp_kses
http://codex.wordpress.org/Function_Reference/wp_kses_post

¿Ha sido útil esta solución?