the_excerpt the_content length excerpt php wordpress

php - the_content - the_excerpt>() wordpress



Cómo establecer el límite de caracteres en the_content() y the_excerpt() en wordpress (9)

Esto también equilibra las etiquetas HTML para que no se queden abiertas y no rompa palabras.

add_filter("the_content", "break_text"); function break_text($text){ $length = 500; if(strlen($text)<$length+10) return $text;//don''t cut if too short $break_pos = strpos($text, '' '', $length);//find next space after desired length $visible = substr($text, 0, $break_pos); return balanceTags($visible) . " […]"; }

¿Cómo establezco un límite de caracteres en the_content () y the_excerpt () en wordpress? Solo he encontrado soluciones para el límite de palabras: quiero poder establecer una cantidad exacta de caracteres de salida.


O incluso más fácil y sin la necesidad de crear un filtro: use mb_strimwidth de PHP para truncar una cadena a un cierto ancho (longitud). Solo asegúrate de usar una de las sintaxis get_ Por ejemplo con el contenido:

<?php $content = get_the_content(); echo mb_strimwidth($content, 0, 400, ''...'');?>

Esto cortará la cadena a 400 caracteres y la cerrará con ... Simplemente agregue un enlace "leer más" al final apuntando al get_permalink() permanente con get_permalink() .

<a href="<?php the_permalink() ?>">Read more </a>

Por supuesto usted también podría construir la read more en la primera línea. Simplemente reemplaza ''...'' con ''<a href="'' . get_permalink() . ''">[Read more]</a>''


Para usar las funciones the_content() (para mostrar el contenido principal de la página)

$content = get_the_content(); echo substr($content, 0, 100);

Para usar las funciones the_excerpt() (para mostrar el contenido corto de la página)

$excerpt= get_the_excerpt(); echo substr($excerpt, 0, 100);



solo para ayudar, si alguien quiere limitar la longitud de las publicaciones en home page ... entonces puede usar el código de abajo para hacerlo

El siguiente código es simplemente una modificación de @bfred.it Sir

add_filter("the_content", "break_text"); function limit_text($text){ if(is_front_page()) { $length = 250; if(strlen($text)<$length+10) return $text; //don''t cut if too short $break_pos = strpos($text, '' '', $length); //find next space after desired length $visible = substr($text, 0, $break_pos); return balanceTags($visible) . "... <a href=''".get_permalink()."''>read more</a>"; }else{ return $text; } }


wp_trim_words Esta función recorta el texto a un cierto número de palabras y devuelve el texto recortado.

Ejemplo:-

echo wp_trim_words( get_the_content(), 40, ''...'' );


wp_trim_words() Esta función recorta el texto a un cierto número de palabras y devuelve el texto recortado.

$excerpt = wp_trim_words( get_the_content(), 40, ''<a href="''.get_the_permalink().''">More Link</a>'');

Obtenga una cadena truncada con el ancho especificado utilizando la función php mb_strimwidth() .

$excerpt = mb_strimwidth( strip_tags(get_the_content()), 0, 100, ''...'' );

Usando el método add_filter() de WordPress en el gancho del filtro de contenido.

add_filter( "the_content", "limit_content_chr" ); function limit_content_chr( $content ){ if ( ''post'' == get_post_type() ) { return mb_strimwidth( strip_tags($content), 0, 100, ''...'' ); } else { return $content; } }

Usando la función php personalizada para limitar los caracteres de contenido.

function limit_content_chr( $content, $limit=100 ) { return mb_strimwidth( strip_tags($content), 0, $limit, ''...'' ); } // using above function in template tags echo limit_content_chr( get_the_content(), 50 );


Podría utilizar una función de devolución de llamada de filtro de Wordpress. En el directorio de su tema, cree un archivo llamado functions.php y agregue lo siguiente en:

<?php add_filter("the_content", "plugin_myContentFilter"); function plugin_myContentFilter($content) { // Take the existing content and return a subset of it return substr($content, 0, 300); } ?>

Se plugin_myContentFilter() función plugin_myContentFilter() cada vez que solicite el contenido de una publicación / página a través de the_content() : le proporciona el contenido como entrada y utilizará lo que devuelva de la función para la salida posterior u otras funciones de filtro .

También puede hacer lo mismo para the_exercpt() - add_filter() y luego una función que se usará como devolución de llamada.

Ver los documentos de referencia del filtro de Wordpress para más detalles.


<?php echo apply_filters( ''woocommerce_short_description'', substr($post->post_excerpt, 0, 500) ) ?>