Soporte » Guías – Resolución de problemas » ¿Dónde se indica que WordPress permite HTML en títulos?

  • Salcedo

    (@salcedo)


    Hace poco he visto en la documentación del codex, tanto en inglés como en español, que WordPress permite etiquetas HTML con CSS no sólo en extractos, sino también en los títulos de los contenidos del blog. Ahora no encuentro ese apartado, ¿alguien sabe decirme el punto concreto de la documentación?

Viendo 15 respuestas - 1 de 15 (de 16 total)
  • kallookoo

    (@kallookoo)

    Hola @salcedo

    Supongo que te refieres a esto; https://developer.wordpress.org/reference/functions/the_title/

    Lo que si lo vistes en el codex lo suyo seria que lo buscases usando su buscador, 😉

    Salcedo

    (@salcedo)

    Gracias, no es eso. Lo he buscado afanosamente sin resultado 🙁 Me refiero a escribir como título de una entrada algo así, por ejemplo:
    «Nuevo artículo con <span style=»color:#0e920e;»>entrevista</span> para el blog»

    Moderador LGrusin

    (@lgrusin)

    Los administradores (y creo que editores) pueden poner algo de HTML, al resto de usuarios por motivos de seguridad no se les permite.

    Para ello habría que añadir al wp-config.php lo siguiente.
    define( 'DISALLOW_UNFILTERED_HTML', true );

    No sé si es a eso a lo que te refieres.

    Salcedo

    (@salcedo)

    ¡Gracias! Sí, me refiero a los contenidos del administrador. Por algún sitio de la documentación he leído algo parecido a «se permiten etiquetas html sin excesos en los títulos, para dar color a una palabra…». Pero como digo no consigo encontrarlo de nuevo.

    Lo que quiero es conocer los requisitos de lo que hace a menudo esta web, http://susanatorralbo.com/, mira por ejemplo cómo va compuesto el cartel COMUNICA DIFERENTE (a dos pantallas del header). Se puede hacer sin añadir nada al wp-config.

    Moderador LGrusin

    (@lgrusin)

    Claro, es lo que siempre se ha hecho, edito el contenido en HTML y pongo el código que quiera. En este caso concreto:

    <h3>
    C<span style="color: #ffc926;">O</span>
    MUNICA 
    <span style="color: #ffa9a9;">D</span>
    <span style="color: #ffffff;">IFE</span>
    <span style="color: #ff6176;">R</span>
    <span style="color: #ffffff;">ENTE</span>
    </h3>

    Con el bloque Editor clásico puedes generar este tipo de textos a colores sin necesidad de poner código, tal como se ha hecho toda la vida en WordPress.

    Salcedo

    (@salcedo)

    Pero lo que quiero es hacerlo en los títulos de las entradas del blog, ahí no puedo colorear palabras con el editor, ¿o sí? Ya digo, recuerdo haberlo visto comentado en la documentación del codex, y no consigo encontrar de nuevo el pasaje.

    kallookoo

    (@kallookoo)

    Hola @salcedo

    Respuesta corta: No. No se donde lo leistes pero estoy al 99.9% que no fue en el codex o handbook.

    Veamos, por seguridad no se permite añadir etiquetas salvo em que me lo comento el usuario @nilovelez.

    Lo unico que puedes hacer es mirar algun plugin para personalizar los titulos de las entradas.

    Por ejemplo este plugin; https://es.wordpress.org/plugins/page-title-splitter/ corta el titulo para mostrarlo en multiples lineas y seguro que existiran mas plugins.

    Y ya para acabar te recomiendo que intentes entender lo basico de como funcionan las paginas webs, WordPress, para poder personalizarlas como comentas aqui, viendo tus preguntas creo que usas Elementor y aunque facilita el diseño para webs sencillas como todo tiene sus limitaciones.

    Salcedo

    (@salcedo)

    Gracias. Sí se puede, compruébalo. Lo que necesito saber (estoy seguro de que lo he visto en la documentación) son los pormenores.

    ¿Sabes que puedes meter HTML en el título de tus posts?
    «Hace unos meses te contamos cómo editar el html de cualquier web con tu navegador para hacer pruebas, y recientemente el Dr. Hosting ha descubierto que puedes usar etiquetas html para jugar con tus titulares. Como curiosidad, se puede poner un título tan largo como quieras en WordPress».
    https://blog.hostalia.com/doctor-hosting/html-titulo-post/

    PD: al parecer antes no se podía, se necesitaba un plugin tal como indicas. Ahora sí se puede, ignoro desde cuándo.

    • Esta respuesta fue modificada hace 6 meses por Salcedo.
    • Esta respuesta fue modificada hace 6 meses por Salcedo.
    kallookoo

    (@kallookoo)

    Hola @salcedo

    En cierta manera es correcto.
    Puedes añadir etiquetas HTML, he probado ahora mismo estas:

    
    Titulo con <b>negrita</b> <i>itálica</i> <tt>teletipo</tt> <strike>tachado</strike> <br/><font color="#00FF00">verde</font> <em>em</em> <span style="color:red">span</span>
    

    y es posible que funcionen pero como te comente por seguridad en muchas secciones se escapan o eliminan las etiquetas HTML para evitar que puedan inyectar codigo malicioso, etc…

    Por ejemplo, crea una entrada y el titulo con codigo html y añades un comentario sino tuviese ninguno, ahora ves a los comentarios, y veras como el titulo lo veras como codigo html, pues eso mismo te pasara en todos los sitios que el theme o x plugin escapen el titulo o eliminen cualquier etiqueta HTML.

    Salcedo

    (@salcedo)

    ¡Gracias! Pues eso que señalas del código «al aire» en los comentarios sí es una contraindicación seria. No se me había ocurrido, precisamente porque en el widget lateral de las entradas recientes se mantenían las alteraciones HTML que introduje en los títulos (una letra de una palabra en otro color, etc), y lo que me preguntaba era cómo eliminar dichas modificaciones fuera del artículo en sí.
    Gracias de nuevo por tu ayuda.

    kallookoo

    (@kallookoo)

    De nada!

    Si quieres dar estilos al titulo del post, yo te recomiendo que lo hagas por plugin, un theme que tenga esa caracteristica o por codigo ya que es la mejor forma de controlarlo.

    Nilo Velez

    (@nilovelez)

    Como me habíais dejado con la duda, me he puesto a investigarlo y resulta que lo que le aplica WordPress a los títulos es un wp_kses (https://developer.wordpress.org/reference/functions/wp_kses/) con el valor predeterminado de $allowed_html

    Eso quiere decir que, a no ser el que el tema o algún plugin lo modifique, en los títulos se pueden añadir las mismas etiquetas que están permitidas por defecto en los comentarios:

    /**
     * @var array[] $allowedtags Array of KSES allowed HTML elements.
     * @since 1.0.0
     */
    $allowedtags = array(
            'a'          => array(
                    'href'  => true,
                    'title' => true,
            ),
            'abbr'       => array(
                    'title' => true,
            ),
            'acronym'    => array(
                    'title' => true,
            ),
            'b'          => array(),
            'blockquote' => array(
                    'cite' => true,
            ),
            'cite'       => array(),
            'code'       => array(),
            'del'        => array(
                    'datetime' => true,
            ),
            'em'         => array(),
            'i'          => array(),
            'q'          => array(
                    'cite' => true,
            ),
            's'          => array(),
            'strike'     => array(),
            'strong'     => array(),
    );

    ¡Ahí es ná!

    Salcedo

    (@salcedo)

    Gracias por la aclaración. Ya encontraré el dichoso pasaje de la documentación donde se comenta la novedad de palabra, por si indica alguna otra característica.

    kallookoo

    (@kallookoo)

    Hola @salcedo

    Pon el enlace, asi todos sabemos donde estaba, para la proxima.

    kallookoo

    (@kallookoo)

    Bueno despues de comentarlo con otros compañeros.
    La conclusion es que se pueden poner etiquetas HTML en el titulo del post, si eres administrador o editor.
    Personalmente no estoy de acuerdo ya que un sitio infectado podria injectar codigo y no lo recomiendo.
    Aparte que si se hace en la parte administrativa todo titulo se escapa o sanea creado una mala visibilidad del titulo.

    Aqui esta el link; https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#why-are-some-users-allowed-to-post-unfiltered-html

Viendo 15 respuestas - 1 de 15 (de 16 total)
  • Debes estar registrado para responder a este debate.