Como editar the_content (WordPress)

PHP the_content

En principio, el contenido de un post en portada se muestra mediante el código <?php the_content(); ?>. Este es el código por defecto para cortar automáticamente el post por donde hemos puesto el <!--more-->, y normalmente se encuentra en theloop.php. También se muestra así en los archivos de categorías, los archivos de tags, en los resultados de las búsquedas, etc. Pero, ¿qué ocurre si queremos hacer algo distinto?

Como editar the_content

Esta es la estructura básica del the_content:

<?php the_content('more_link_text', strip_teaser, 'more_file'); ?>

more_link_text: Es el texto que quieras que aparezca. Por ejemplo, <?php the_content('Leer Más...'); ?>

strip_teaser: Es TRUE o FALSE, por defecto FALSE. Si es TRUE, el link de “Leer más” no aparece. Por ejemplo, <?php the_content('Leer Más...','TRUE',''); ?>

more_file: sirve para apuntar a otro archivo, en vez del archivo a que hace referencia el resumen.


También podemos usar HTML en el more_link_text, por ejemplo:

<?php the_content('<span class="moretext">...leer más</span><img src="/images/leaf.gif" alt="leer más" title="leer más...">'); ?>

Para que eso funcionara deberíamos subir la imagen leaf.gif y añadir la función moretext al style.css. Por ejemplo,

.moretext {
   width: 100px;
   height: 45px;
   background:url(/images/leaf.gif) no-repeat right middle;
   padding: 10px 50px 15px 5px}

Otros parámetros que pueden ser modificados están explicados en codex.wordpress.org > the_content y en Customizing the Read More.


2 plugins: Limit Posts & WP Limit Posts Automatically

Opciones de Limit Post

Opciones de Limit Post

Los plugins son otro método para cortar los contenidos de los posts. El plugin WP Limit Posts Automatically permite cortar el posts a los X caracteres, y en el plugin también puedes configurar todas las funcions descritas en este post.


El plugin Limit Post hace lo mismo que el anterior y es más antiguo, pero hay que tenerlo presente porque es el que utilizan muchos themes. Puesto que su web no funciona, aquí copio el código que debe ir en un archivo llamado limit-post.php en la carpeta de wp-content/plugins:

<?php
/*
Plugin Name: Limit Posts
Plugin URI: http://labitacora.net/comunBlog/limit-post.phps
Description: Limits the displayed text length on the index page entries and generates
a link to a page to read the full content if its bigger than the selected maximum length.
Usage: the_content_limit($max_charaters, $more_link)
Version: 1.1
Author: Alfonso Sánchez-Paus Díaz y Julián Simón de Castro
Author URI: http://labitacora.net/
License: GPL
Download URL: http://labitacora.net/comunBlog/limit-post.phps
Make:
    In file index.php
    replace the_content()
    with the_content_limit(1000, "more")
*/

function the_content_limit($max_char, $more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
    $content = get_the_content($more_link_text, $stripteaser, $more_file);
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]&gt;', $content);
    $content = strip_tags($content);

   if (strlen($_GET['p']) > 0) {
      echo "";
      echo $content;
      echo "";
   }
   else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {
        $content = substr($content, 0, $espacio);
        $content = $content;
        echo "";
        echo $content;
        echo "...";
        echo "";
   }
   else {
      echo "";
      echo $content;
      echo "";
   }
}

?>
No Responses

Leave a Reply

Your email address will not be published. Required fields are marked *