:: leyendo Post

Redireccionar una pagina de wordpress

Archivado en How to, Tutoriales, wordpress :: Por aldols :: agosto 18, 2009 ::

En ocasiones queremos redireccionar ciertas paginas desde nuestro blog, aqui les dejo un pequeño y sencillo tutorial de como podemos lograrlo. Esta tecnica nos permitira redireccionar una URL desde una pagina de nuestro blog en wordpress sin necesidad de usar un plugin.

Lo primero que debemos hacer es crear un archivo llamado template_redirect.php dentro de la carpeta del theme que estamos utilizando.

wordpress_root_directory/wp-content/themes/default/

Nuestro archivo debera ser creado en esa carpta quedando de la siguiente manera

wordpress_root_directory/wp-content/themes/default/template_redirect.php

Si no puedes editar tu archivo directamente en la carpta utiliza el bloc de notas, dreamweaver o cualquir software que te prmita crear este archivo ftp, despues lo subes via FTP.

Lo que debe incluir el archivo template_redirect.php es el siguiente codigo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
/*
Template Name: Page Redirect
 
 * @author		Dave Stewart
 * @email		dave@davestewart.co.uk
 * @web			www.davestewart.co.uk
 
 * @name		Page Redirect
 * @type		PHP page
 * @desc		Wordpress template that redirects the current page based on the content of the database entry it loads
 
 * @requires	Wordpress
 * @install		Copy this file to the directory of the theme you wish to use
 * usage
			   1. Create a new Page in your Wordpress control panel
			   2. Enter the URL (or local path, relative to your Wordpress directory) you want to redirect to as the only page content
			   3. Set the Page Template to "Page Redirect"
			   4. Publish
 */
 
if (function_exists('have_posts') && have_posts()){
	while (have_posts()){
 
		// get the post
			the_post();
 
		// get content
			ob_start();
			the_content();
			$contents	= ob_get_contents();
			ob_end_clean();
 
		// correctly build the link
 
			// grab the 'naked' link
				$link	= strip_tags($contents);
				$link	= preg_replace('/\s/', '', $link);
 
			// work out
				if(!preg_match('%^http://%', $link)){
					$host	= $_SERVER['HTTP_HOST'];
					$dir	= dirname($_SERVER['PHP_SELF']);
					$link	= "http://$host$dir/$link";
					}
 
			// do the link
				header("Location: $link");
				die('');
				}
 
	}
?>

Una vez creado el archivo con el codigo antes mencionado debemos ir al panel de administracion de wordpress y creamos una nueva pagina (Paginas-->Crear), en la lista de plantillas aparecera el archivo que creamos. Lo seleccionamos y en el contenido de la pagina agregamos el URL de la pagina a redireciconar. (como se muestra en la imagen)

redirect

Guardamos la pagina y comprobamos si funciona entrando a nuestro blog y accediendo a la pagina creada. Este codigo ya lo probe y funciona perfectamente. Espero te haya sido de utilidad.

Via | Areaphotoshop

Post Relacionados

Hotmail.com


3 comentarios... Opina sobre este articulo, ¿Quieres dejar un comentario?

  1. Ranuro dijo:
    septiembre 14, 2009 a las 7:10 am

    No entendi mucho, pero lo estoy probando, jajaja, gracias ;)

  2. xcv dijo:
    enero 16, 2010 a las 9:41 am

    GENIAL! funciona a la primera. muchas gracias.

  3. xcv dijo:
    enero 16, 2010 a las 9:41 am

    Como podria hacer para que el nuevo link se abra en una nueva ventana? gracias de nuevo

Deja un comentario