Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[SOLUCIONADO] Cómo añadir el "leer más" a las categorías de wordpress

Estas en el tema de Cómo añadir el "leer más" a las categorías de wordpress en el foro de WordPress en Foros del Web. Hola, En mi blog, cuando accedes a cualquier categoría se ven los extractos de los artículos o post. Pero para leer el post entero, tienes ...
  #1 (permalink)  
Antiguo 07/12/2013, 13:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 12 años, 4 meses
Puntos: 1
Cómo añadir el "leer más" a las categorías de wordpress

Hola,

En mi blog, cuando accedes a cualquier categoría se ven los extractos de los artículos o post. Pero para leer el post entero, tienes que pinchar en el titulo del post.

Lo que quisiera hacer, es que cuando se acaba el extracto del post, apareciera el enlace de "leer más". En lugar de ese enlace, ahora mismo me salen tres puntos...

Pero esos tres puntos no son un enlace ni nada, simplemente una terminación.

Dentro del archivo archive.php que es el archivo de las categorías en mi tema, está este código que es el que muestra los tres puntos y hace que el extracto sea de 50 palabras:

Código PHP:
<p><?php excerpt('50'); ?></p>

No encuentro nada más y si modifico eso añadiendo cualquier otro código (cosa que ya he probado buscando y rebuscando por la red) me da error.

¿Alguien sabe como añadir un enlace de leer más justo cuando acaba el extracto?

Gracias y saludos!!
  #2 (permalink)  
Antiguo 08/12/2013, 11:43
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 7 años, 8 meses
Puntos: 49
Respuesta: Cómo añadir el "leer más" a las categorías de wordpress

Utiliza el add_filter() para excerpt_more y devuelve el html que deseas concatenar al final del extracto. Un ejemplo:

Código PHP:
function excerpt_more_leer_mas$more ) {

    global 
$post;
    return 
' <a class="moretag" href="'get_permalink$post->ID ) . '" title="' esc_attr__'Leer más...''dominio-de-idioma' ) . '" >' esc_html_e'Leer más...''dominio-de-idioma' )  . '</a>';
    
}

add_filter'excerpt_more''excerpt_more_leer_mas' ); 
  #3 (permalink)  
Antiguo 08/12/2013, 14:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Cómo añadir el "leer más" a las categorías de wordpress

Hola Alejandro,

Muchas gracias por tú respuesta, pero no tengo ni idea de donde colocar ese código y no sé lo que es que me devuelva el html ni el add filter ni qué tengo que sustituir. Copio y pego el código de mi archive.php y si eres tan amable y quieres me dices dónde debería colocar el código que me has puesto.

Código PHP:

<?php get_header(); ?>

<div id="content">

<?php if (have_posts()) : ?>

<?php $post $posts[0]; // Hack. Set $post so that the_date() works. ?>

<?php /* If this is a category archive */ if (is_category()) { ?>

<h3 class="pagetitle"> ‘<?php single_cat_title(); ?>’</h3>

<h3> <?php echo category_description(); ?></h3>


<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>

<h3 class="pagetitle">Posts Tagged ‘<?php single_tag_title(); ?>’</h3>

<?php /* If this is a daily archive */ } elseif (is_day()) { ?>

<h3 class="pagetitle">Archive for <?php the_time('F jS, Y'); ?></h3>

<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>

<h3 class="pagetitle">Archive for <?php the_time('F, Y'); ?></h3>

<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>

<h3 class="pagetitle">Archive for <?php the_time('Y'); ?></h3>

<?php /* If this is an author archive */ } elseif (is_author()) { ?>

<h3 class="pagetitle">Author Archive</h3>

<?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>

<h3 class="pagetitle">Blog Archives</h3>


<?php ?>

<?php while (have_posts()) : the_post(); ?>


<div class="entry-body">


<div class="entry-text">

<h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>" class="entry-title"><?php the_title(); ?></a></h1>

</div>

<p><?php excerpt('50'); ?></p>

<div class="entry-meta">

<span class="entry-category"><?php the_category(', '?></span>

<span class="entry-comment"><?php comments_popup_link('Escribe un comentario''1 comentario''% comentarios'); ?></span>

</div>

</div>

<?php endwhile; ?>

<?php

include('wp-pagenavi.php');

if(
function_exists('wp_pagenavi')) { wp_pagenavi(); }

?>

<?php else : ?>

<div class="entry-body">

<h2 class="pagetitle">Not Found</h2>

<?php include (TEMPLATEPATH '/searchform.php'); ?>

</div>

<?php endif; ?>

</div><!-- END Content -->

<?php get_sidebar(); ?>

<?php get_footer(); ?>
  #4 (permalink)  
Antiguo 08/12/2013, 14:40
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 7 años, 8 meses
Puntos: 49
Respuesta: Cómo añadir el "leer más" a las categorías de wordpress

Lo siento Abelmendro, a veces doy demasiadas cosas por sabidas y olvido que yo por ejemplo no sé poner una lavadora.

El código puedes añadirlo al archivo functions.php de tu tema. Te preparo una versión más clara y comentada del código para que te orientes mejor al editarlo, solo lee los comentarios:

Código PHP:
function excerpt_more_leer_mas$more ) {

    global 
$post;
    
    
//Sustituye Leer más... por el texto que deseas mostrar.
    
$mensaje        'Leer más...';
    
//Título que aparecerá al poner el ratón encima del enlace.
    
$titulo_enlace    'Leer la noticia completa';
    
    return 
' <a class="moretag" href="'get_permalink$post->ID ) . '" title="' esc_attr$titulo_enlace ) . '" >' esc_html$mensaje )  . '</a>';
    
}

add_filter'excerpt_more''excerpt_more_leer_mas' ); 
Si tienes dudas solo pregunta.

EDITO: Veo en tu primer mensaje que tu tema utiliza una posible función propia llamada excerpt(); así que puede que este código, diseñado para funcionar con el código nativo de WordPress, no te sirva. Si es así coméntalo y buscamos solución.
  #5 (permalink)  
Antiguo 10/12/2013, 04:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Cómo añadir el "leer más" a las categorías de wordpress

Hola Alejandro,

Gracias de nuevo por tú respuesta. Te comento. He pegado el código que me has dado en el functions.php de mi tema pero no ha funcionado, de hecho ni siquiera ha dado error, no ha pasado nada, como si no hubiera cambiado nada.

Y mirando el código del functions.php me he encontrado este fragmento que creo que es el que muestra los tres puntos al final del extracto de las 50 palabras.

Código PHP:
function excerpt($num) {
$limit $num+1;
$excerpt explode(' 'get_the_excerpt(), $limit);
array_pop($excerpt);
$excerpt implode(" ",$excerpt)."...";
echo 
$excerpt;

Quizá sea esto lo que haya que cambiar o modificar, no?

Saludos!!
  #6 (permalink)  
Antiguo 10/12/2013, 09:30
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 7 años, 8 meses
Puntos: 49
Respuesta: Cómo añadir el "leer más" a las categorías de wordpress

Efectivamente, como te comentaba era posible que tu tema tuviera su propia función para generar el excerpt y ese ha sido el caso. No es muy correcto por parte del creador pero bueno, vamos a hacerle un apaño a ese código para que haga lo que tu quieres:

Código PHP:
function excerpt$num ) {
 
    global 
$post;
    
    
//Sustituye Leer más... por el texto que deseas mostrar.
    
$mensaje        'Leer más...';
    
//Título que aparecerá al poner el ratón encima del enlace.
    
$titulo_enlace    'Leer la noticia completa';

    
$limit        $num+1
    
$excerpt    explode' 'get_the_excerpt(), $limit ); 
    
    
array_pop$excerpt ); 
    
    
$excerpt    implode" ",$excerpt) . ' <a class="moretag" href="'get_permalink$post->ID ) . '" title="' esc_attr$titulo_enlace ) . '" >' esc_html$mensaje )  . '</a>'
    
    echo 
$excerpt


Sustituye la función que has copiado por esta y edítala a tu gusto siguiendo los comentarios. En teoría debería funcionar si llama correctamente a excerpt dentro del loop, y por lo que veo es así. Cualquier problema dilo y lo arreglamos.
  #7 (permalink)  
Antiguo 11/12/2013, 05:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 168
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Cómo añadir el "leer más" a las categorías de wordpress

Muchas gracias, funcionó perfectamente. Ya está solucionado. De nuevo mil gracias por tú ayuda.

Saludos!!

Etiquetas: blog, php, post, tema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:43.