Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo truncar automáticamente los títulos de las entradas de blog en WordPress

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Quieres aprender a truncar títulos de entradas con PHP?

Truncar, o acortar, te permite controlar la longitud de los títulos de las entradas de tu blog en todo tu sitio web. Dependiendo de su tema de WordPress, es posible que desee mostrar títulos más cortos de lo que es compatible con su tema.

En este artículo, le mostraremos cómo truncar los títulos de las entradas en WordPress.

How to truncate WordPress post titles with PHP (2 ways)

¿Por qué truncar títulos de entradas en WordPress con PHP?

Truncar títulos de entradas en WordPress con PHP le da más control sobre la longitud de los títulos de sus entradas y cómo se muestran en su sitio web.

Por ejemplo, es posible que desee cortar los títulos de entradas largas en su página de inicio para que no desentonen con el diseño de su blog de WordPress.

Truncate posts example

Nota: Algunos usuarios simplemente desean utilizar títulos de entradas más cortos para optimizar las entradas de blog para SEO. En este caso, no es necesario truncar los títulos de las entradas. En su lugar, puede simplemente utilizar un plugin de WordPress SEO para hacer su etiqueta de título más corto.

Un plugin de SEO le permitirá crear títulos SEO personalizados para las páginas de resultados de búsqueda, manteniendo al mismo tiempo títulos de entradas más largos para sus visitantes en su sitio.

Para más detalles, consulte nuestra guía definitiva sobre cómo establecer All in One SEO correctamente.

Dicho esto, vamos a mostrarle cómo truncar los títulos de las entradas de WordPress en su sitio web utilizando dos métodos diferentes:

Método 1: Truncar los títulos de las entradas de WordPress con una función de WordPress

La forma más sencilla de truncar los títulos de las entradas en WordPress es añadiendo código PHP a tus archivos de WordPress. Si no ha hecho esto antes, entonces marque / compruebe nuestra guía sobre cómo copiar y pegar código en WordPress.

Muchos tutoriales te dirán que añadas código directamente al archivo functions. php de tu tema. Sin embargo, cualquier error podría causar una serie de errores de WordPress o incluso romper su sitio.

Por eso te recomendamos que utilices el plugin gratuito WPCode. Simplemente siga nuestra guía sobre cómo añadir código personalizado en WordPress y añada el siguiente código a su sitio de WordPress:

function max_title_length( $title ) {
$max = 35;
if( strlen( $title ) > $max ) {
return substr( $title, 0, $max ). " …";
} else {
return $title;
}
}

add_filter( 'the_title', 'max_title_length');

Este código se ejecutará dentro del bucle de entradas de WordPress y acortará los títulos de las entradas de tu blog a ’35’ caracteres. Para cambiar la longitud del título, establezca la variable $max en la longitud que prefiera.

Una vez que haya añadido el fragmento de código anterior, los títulos de las entradas de su blog se acortarán dondequiera que aparezcan en su sitio web de WordPress.

Método 2: Truncar los títulos de las entradas de WordPress con PHP cambiando los archivos del tema de WordPress

Otra forma de truncar los títulos de las entradas de WordPress es añadiendo código directamente a los archivos de su tema de WordPress.

Este método le da más control sobre dónde se acortan sus títulos. Por ejemplo, es posible que desee cortar los títulos en su página de inicio solo, pero mostrar el título completo en la entrada del blog.

Para ello, deberá añadir el código PHP directamente a los archivos del tema de WordPress donde desee truncar los títulos de las entradas de su blog.

Por ejemplo, puede añadir el fragmento de código siguiente a su archivo index. php para sustituir la etiqueta the_title existente dentro del bucle de entradas de WordPress y cambiar la longitud del título en todo el sitio:

<a href="<?php the_permalink() ?>">
<?php
$thetitle = $post->post_title; /* or you can use get_the_title() */
$getlength = strlen($thetitle);
$thelength = 25;
echo substr($thetitle, 0, $thelength);
if ($getlength > $thelength) echo "...";
?>
</a>

Este código establece la longitud del título de la entrada en 25 caracteres. Si la longitud del título es superior a 25 caracteres, entonces cortará el título después de 25 caracteres y añadirá una elipsis ‘…’ al final.

Para cambiar la longitud de caracteres de su sitio web, simplemente cambie la variable $thelength al número de caracteres que prefiera.

Una vez añadido el código y guardado el archivo, deberá subirlo al directorio de temas de su cuenta de alojamiento de WordPress.

Puede hacerlo utilizando un cliente FTP o la herramienta de gestión de archivos de su panel de control de alojamiento de WordPress. Si no has usado FTP antes, entonces comprueba nuestra guía sobre cómo usar FTP para subir archivos a WordPress.

Una vez añadido el código, los títulos de tus entradas se truncarán según el número de caracteres que hayas establecido.

Consejo profesional: Si ha utilizado el método 2, perderá estos cambios cuando actualice su tema a una nueva versión. Para evitar esto, consulte nuestra guía sobre cómo actualizar su tema de WordPress sin perder la personalización.

Esperamos que este artículo te haya ayudado a aprender cómo truncar títulos de entradas en WordPress con PHP. Puede que también quieras ver nuestra guía sobre cómo escribir una gran entrada de blog y nuestra selección de los mejores plugins de marcado schema para WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

21 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Brow says

    Thanks this worked perfectly! I didn’t want to end up using a plugin just to do this and was happy your code cut down the titles properly.

    Thanks again!

  3. Joey Figaro says

    Hey there – thanks for writing this up! I happened to stumble upon another example of how to achieve this and it seemed a lot more simple, so I will share it with you and see what you think.

    functions.php:

    function new_excerpt_length($length) {
    return 100;
    }
    add_filter(‘excerpt_length’, ‘new_excerpt_length’);

  4. Lena says

    Hi!
    This doesn’t work if you use other languages than english. My swedish titel looks awful because the code doesn’t translate å ä and ö comparing to the default code. Any suggestions of what I have to do? This is a good trick and i want to use it.

    Kindly Lillan

  5. Navjot Singh says

    One Suggestion, this type of code should be included in functions.php and not index.php. You can use conditional tags to restrict the code to any page you want whether its the homepage or any other page where you want.

  6. Thomas Scholz says

    Don’t use strlen(). Use mb_strlen() or strlen(utf8_decode($str)) or you risk to truncate the string inside of a multi-byte character. The same applies to mb_substr().

    Oh, and an ellipsis is one character: … :)

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.