Cómo convertir entradas en páginas (y viceversa)

Publicada en WordPress.

Mira nuestro vídeo

Existe una versión mejor de tu web

Comparte este artículo

WordPress tiene plugins para todo lo que puedas imaginar. Sin embargo, hay veces en las que los plugins, o bien no ofrecen exactamente lo que necesitas, o bien lo que andas buscando es demasiado crítico como para confiar en un plugin poco conocido o sin comentarios de terceros. En muchos de estos casos, la forma más rápida de resolver el problema es ensuciándose las manos uno mismo modificando nuestra base de datos.

Hoy vamos a ver lo fácil que es convertir las entradas de WordPress en páginas y viceversa (convertir páginas de WordPress en entradas), ejecutando una sencilla sentencia SQL de actualización. Muchos principiantes no saben que tanto las entradas como las páginas comparten la misma tabla en la base de datos de WordPress: wp_posts. La única diferencia entre una entrada y una página es el valor que se almacena en la columna post_type de la tabla wp_posts. Las entradas tienen el valor post en post_type y las páginas el valor page.

Visto esto, convertir una entrada en una página es tan simple como actualizar el valor de la columna post_type:

UPDATE wp_posts SET post_type='page' WHERE post_type='post'

Mientras que para convertir las páginas en entradas la sentencia SQL es:

UPDATE wp_posts SET post_type='post' WHERE post_type='page'

Posiblemente no quieras convertir todas las entradas en páginas, sino solamente alguna de ellas. Asumiendo que conocemos el identificador de las entradas que queremos convertir en páginas, modificaremos ligeramente la condición de actualización de la sentencia SQL:

UPDATE wp_posts SET post_type='page' WHERE post_type='post' AND id=X

donde X es el identificador de la entrada a convertir en página. Alternativamente, podemos usar un patrón para seleccionar las entradas o páginas a convertir. Para este caso utilizamos el operador LIKE de SQL. Por ejemplo, si quieres transformar todas las páginas cuyo título empieza con la letra ‘A’, la instrucción quedaría así:

UPDATE wp_posts SET post_type='post' WHERE post_type='page' AND post_title LIKE 'A%'

Esta misma instrucción nos permite transformar entradas o páginas normales en tipos de entradas personalizados (custom post types, en inglés). Recuerda que si no tienes acceso a tu base de datos directamente o mediante phpMyAdmin, puedes probar a usar el arma secreta de los consultores WordPress: el plugin Adminer.

ADVERTENCIA: No creo que haga falta recordarte que antes de hacer cualquier modificación en tu base de datos de WordPress debes crear una copia de seguridad. Si cometiéramos cualquier error o sucediera algo fuera de nuestro control, disponer de una copia de seguridad te puede salvar la vida.

17 comentarios en «Cómo convertir entradas en páginas (y viceversa)»

  1. Hola, os consulto por esye asunto, he publicado una pagina que debia ser un post y no he podido seguir este tutorial.

    Podeis ayudarme?

    Saludos

    1. Para ayudarte deberías dar más detalles acerca de qué parte del tutorial no has podido seguir, ya nos cuentas

  2. Hola, gracias por compartir.
    Tengo un problema con una web de inmobiliaria que tengo en WordPress, y esque ya alcanzo los 1000 anuncios y cada vez se torna mas lenta la web hasta el punto que puede tardar en abrirse un minuto o más. Indagando he podido comprobar que se debe a la cantidad de anuncios y que, parece ser, es por el archivo wp_posts que alberga todas las entradas en forma de página. Mi pregunta es, si es posible fraccionar esa tabla de forma que no acceda a toda de golpe si no a partes de ella, por ejemplo por meses, asi no ha de realizar las consultas a la base de datos completa?. No se si formulo bien la pregunta esque no tengo experiencia en programación. Un abrazo.

    1. 1000 entradas no deberían ser un problema. He podido trabajar en webs que multiplicaban ese número fácilmente y el tiempo de carga era rápido. Prueba a usar un plugin de caché si no lo estás haciendo ya, o habla con tu hosting, ya que quizás necesitas invertir más en el servidor de tu web.

  3. Tenia un blog para pasar unas cuantas entradas a paginas y este tutorial me sirvio, hay plugins que hacen lo mismo pero la verdad casi no me gusta usarlos. gracias

  4. Un día trasteando por WordPress encontré una función que permitía hacerlo y en el momento no tome nota fiándome de mi memoria y de que era muy fácil de localizar… ¡Craso error! Ahora solo recuerdo que era fácil, pero no recuerdo dónde se encontraba.

    Si no lo encuentro, recurriré a tus pasos. ¡Por lo menos ahora ya tengo alternativa a mi memoria!

    ¡Gracias! Un saludo

    1. ¡Hola! Si el código no es lo tuyo siempre puedes usar un plugin para conseguir esto. Por ejemplo este, pero ten en cuenta que lleva mucho tiempo sin ser actualizado y quizás no funcione todo lo bien que debería.

      Un saludo.

  5. gracias por la ayuda, pero no dices donde exactamente tengo que ir para hacer ese cambio, pues soy principiante 🙁

    1. Hola Clarisa. Estos cambios (las instrucciones SQL de la entrada) los tienes que aplicar en tu base de datos. Para acceder a ella habitualmente tu proveedor de hosting debería proporcionarte acceso a phpMyAdmin (o similar). De todas formas, si eres principiante lo que puedes hacer es pedirle directamente al soporte técnico de tu proveedor de hosting que hagan ellos el cambio por ti.

  6. Articulo viejito pero muy util.

    Me ayudo en la parte mas engorrosa de una reestructuracion general.

    El plugin es excelente, sobre todo cuando se trabaja con server pilot y vps. No lo conocía.

    Gracias, excelente post…!

Deja una respuesta

No publicaremos tu correo electrónico. Los campos obligatorios están marcados con: •

He leído y acepto la Política de privacidad de Nelio Software

Al marcar la casilla de aceptación estás dando tu legítimo consentimiento para que tu información personal se almacene en SiteGround y sea usada por Nelio Software con el propósito único de publicar aquí este comentario. Contáctanos para corregir, limitar, eliminar o acceder a tu información.