Acorta los títulos

Si usas un tema abigarrado, de esos que están tan de moda últimamente, los de estilo revista (o magazine) seguramente te hayas dado de bruces más de una vez con el problema de la limitación de los títulos, pues tienes que controlarte o se descuadrará tu tema, no se verán bien los títulos y cualquier otro desastre estético.

Afortunadamente todo tiene solución en WordPress, y más con un poquito de código. Vamos a ver como hacerlo en solo 2 pasos … 

1. Añadiendo la función

Para empezar abrimos el fichero functions.php de tu tema y añadimos uno de los siguientes códigos:

Acortar títulos por palabras

//Acortando títulos por palabras
function titulo_corto($after = '', $length) {
	$mytitle = explode(' ', get_the_title(), $length);
	if (count($mytitle)>=$length) {
		array_pop($mytitle);
		$mytitle = implode(" ",$mytitle). $after;
	} else {
		$mytitle = implode(" ",$mytitle);
	}
	return $mytitle;
}

Acortar títulos por caracteres

//Acortando títulos por caracteres
function titulo_corto($after = null, $length) {
	$mytitle = get_the_title();
	$size = strlen($mytitle);
	if($size>$length) {
		$mytitle = substr($mytitle, 0, $length);
		$mytitle = explode(' ',$mytitle);
		array_pop($mytitle);
		$mytitle = implode(" ",$mytitle).$after;
	}
	return $mytitle;
}

Guardas los cambios en el fichero.

2. Modificando el loop

Una vez elegido el tipo de acortamiento, con uno de los códigos anteriores, solo nos queda sustituir el código de impresión de los títulos en – normalmente – index.php. Buscamos algo similar a este código …

<h2 class="title"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php echo titulo_corto('...', 12); ?></a></h2>

y lo sustituimos por este otro:

<h2 class="title"><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php echo titulo_corto('...', 12); ?></a></h2>

Dependiendo del código elegido te mostrará, en este ejemplo, 12 palabras o 12 caracteres, completando el resto con los socorridos puntos suspensivos '…'. Además, al colocar el cursor sobre el mismo nos mostrará el nombre completo (the_title()), para que no nos perdamos.

(4 votos, promedio: 5) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

13 comentarios en “Acorta los títulos”

  1. Al mostrar el titulo completo en el atributo "title", no sería mejor usar the_title_attribute en lugar de the_title? Asi no se "rompe" el enlace cuando hay comillas…

  2. MartinZambrano

    @JuanDxvid Al parecer se confundio al colocar el codigo, creo que seria reemplazar esta Linea:

    <code> <a title="" href="" rel="bookmark"></code>

    por algo como esto:

    <code></code>

    Listo, comprobado y funcionando Correctamente (Y)!

  3. buen truco amigo, 100% funcional, gracias por el codigo. Pero hay un error en el reemplazo de codigo .

    Codigo que se muestra:

    <h2 class="title">">?php echo titulo_corto('…', 12); ?></h2>

    Deberia ser asi

    "><?php echo titulo_corto('…', 12); ?>

    Creo que falto una llave de apertura < en el titulo.

    Saludos pero entendible, gracias por el codigo…

  4. Buen post, pero en el codigo que hay que modificar en el loop y que se ofrece para copiar, falta un < justo delante de ?php echo titulo_corto

    <a href="» rel=»bookmark» title=»»>Con este codigo, funciona sin problema. Gracias por la idea.

  5. Hola, como puedo utilizar este truco en un widget? tengo un theme al que agrego un widget para mostrar los titulos de unos eventos pero en el widget el titulo se sale de la página

  6. Hola Fernando, felicidades por el post, permiteme una pregunta, como podria hacer para recortar los titulos pero en los widgets??, por ejemplo, en el widget de ultimas entradas me sale el titulo entero, y me descuadra todo el diseño,como puedo hacer para recortarlo??

    Gracias y salu2

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido