Por defecto cuando deseamos insertar un Leer más en WordPress, el llamado more, éste hace que aparezca un enlace que nos redirige a una cierta posición de una nueva página. Hoy aprendremos a cómo modificarlo de manera que la página no inicie con el scroll en el salto, sino que lo haga mostrando todo el artículo.

more wordpress

Si no entienden a qué me refiero cuando indico que el salto del enlace Leer más nos lleva a una página desplazada hagan clic en el siguiente enlace.

Éste es un tope de página. El texto que se encuentra arriba no es visible, a menos que movamos el scroll (barra lateral) derecha hacia arriba o abajo.

Si queremos que se vea todo el post luego de insertar un salto de página en el post original debemos hacer una pequeña modificación al código de WordPress, al cual por cierto tenemos acceso 😛

Listo, lo primero que debemos hacer es ir a la carpeta wp-includes del directorio de instalación del blog. Allí encontraremos un archivo en php llamado post-template.php.

Abrimos el archivo en modo edición y buscamos éste código:

1
2
3
4
5
6
7
8
9
10
	if ( count($content) > 1 ) {
		if ( $more ) {
			$output .= '<span id="more-'.$id.'"></span>'.$content[1];
		} else {
			$output = balanceTags($output);
			if ( ! empty($more_link_text) )
				$output .= ' <a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>";
		}
 
	}

La variable que captura la forma de nuestro enlace es el que corresponde a la línea 7, es decir $output. La estructura del enlace es la siguiente:

$output .= ' <a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>";

Esto nos genera una salida similar a:

<a href="http://www.tecnologiadiaria.com/2009/06/bowlingual-traductor-perros-2.html#more-3871" class="more-link">Leer el resto de la entrada</a>

Lo modificaremos para suprimir el #more-XXXX de la estructura del enlace, donde XXXX es el número id del post.

Al final nos debe quedar algo como ésto:

1
2
3
4
5
6
7
8
9
10
	if ( count($content) > 1 ) {
		if ( $more ) {
			$output .= '<span id="more-'.$id.'"></span>'.$content[1];
		} else {
			$output = balanceTags($output);
			if ( ! empty($more_link_text) )
				$output .= ' <a href="'. get_permalink() .'" class="more-link">'.$more_link_text.'</a>';
		}
 
	}

El enlace ahora ha cambiado a:

$output .= ' <a href="'. get_permalink() .'" class="more-link">'.$more_link_text.'</a>';

O lo que sería lo mismo en el caso ejemplo:

<a href="http://www.tecnologiadiaria.com/2009/06/bowlingual-traductor-perros-2.html" class="more-link">Leer el resto de la entrada</a>

Para más referencias les recomiendo visitar este apartado sobre el More en WordPress Codex.

Etiquetas: , ,

Comentarios ( 4 ) en: Modificar enlace de página del more en WordPress
  • kike dijo:

    bonito truco, esto puede servir de algo

  • KnxDT dijo:

    En realidad vi esa pregunta en varios foros, así que pensé revisarlo y publicarlo aqui.

    Saludos, kike.

  • hiwebs dijo:

    Buenas… tengo una duda hace tiempo. Cómo puedo lograr que al abrir un post, justo donde iria el more se vea una publicidad, lo ideal sería un fichero rotador de por ejemplo un rotar.php , para que cada vez que se abra un post, justo antes del contenido extendido se vea dicha publicidad. Si alguien me puede ayudar estaré agradecido;)
    Saludos!

  • JC- negocios por internet dijo:

    Amigos gracias por dato, estaba tratando hacerlo desde la misma plantilla pero no me habia funcionado, muchas gracias nuevamente, ,lo compartire