• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

Noticias WordPress

Noticias WordPress, ayuda, themes, plugins, código, tips, Funciones, CSS, snippets, temas, hosting y mucho más.

  • Cursos WordPress

Borrar todos los posts de una categoría en WordPress

julio 12, 2011

La necesidad de borrar todos los posts dentro de una categoría en WordPress puede ser una tarea sencilla siempre y cuando el numero de posts no sea muy alto. Hace algunos días me vi en la necesidad de tener que borrar más de 6000 entradas de una sola categoría en una instalación de WordPress y por supuesto borrarlas desde el editor de 20 en 20, no es una opción adecuada, ni algo recomendable en el que invertir tu tiempo.

La forma adecuada de hacer esto es realizando una consulta directa en nuestra base de datos para borrar todos los posts y para ello tenemos que entrar a phpMyAdmin para gestionar la base de datos de nuestra instalación de WordPress.

Vamos a ver paso a paso como borrar todas las entradas de una categoría en WordPress desde la base de datos.

Primero tenemos que entrar a phpMyAdmin y tienes que entrar desde el panel de administración de tu Hosting. El siguiente ejemplo lo hago utilizando Plesk, aunque en cPanel los pasos son prácticamente iguales.

Primero entra a la sección de bases de datos.

A continuación verás un listado de base de datos en caso de que tengas varias y necesitas darle click a la que estás utilizando con tu instalación de WordPress.

Después de darle click a la base de datos, te salen las opciones y herramientas disponibles para ella. Para entrar a phpMyAdmin dale click a Webadmin o phpMyAdmin si te aparece así.

Cuando le das click a Webadmin se abre una ventana nueva con phpMyAdmin y bastante información visual, no te preocupes, en este caso solo tienes que hacerle caso a SQL como se indica en la siguiente imagen.

phpMyAdmin

Dale click a SQL para sue se muestre el campo de texto en donde puedes ejecutar comandos en la base de datos.

En ese campo de texto tienes que ejecutar el siguiente comando que puedes copiar y pegar.

[php]
delete a,b,c,d
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id =36
[/php]

Importante.
De este código solo tines que cambiar el numero 36 de la última linea por número ID de tu categoría.

Ya que tienes el código en esa ventana, solo tienes que darle ejecutar como se ve en la siguiente imagen.

¿Como saber el número ID de una categoría en WordPress?

La respuesta es sencilla. Entra a la administración de WordPress, en «Entradas» selecciona «Categorías». Ahí veras una lista con todas las categorías que tienes creadas en WordPress.

Tienes dos maneras de ver el ID de cada categoría.

1- Con solo poner el mouse encima del nombre de una de las categorías, abajo en la barra de estado en la ventana de tu navegador, verás la dirección URL para ver esa categoría y ahí viene el ID.

2- Dale click a editar categoría y verás arriba en la dirección URL la ID que tiene la categoría.

Con eso ya tienes el ID de la categoría a la que quieres borrarle todos los posts utilizando el código antes mencionado.

¿Alguna vez tuviste la necesidad de borrar todos los posts de una categoría en WordPress?

Espero que esta solución te ayude.

Archivado en:Administración, WordPress Etiquetado con:categorías, phpMyAdmin, SQL

Interacciones con los lectores

Comentarios

  1. Cristian dice

    noviembre 24, 2011 en 3:49 pm

    No me funciono, aparece Table ‘*******.wp_posts’ doesn’t exist

  2. Peter Olle dice

    noviembre 25, 2011 en 6:46 am

    Hola Cristian.

    Al parecer estas utilizando otro nombre para la tabla de los posts de WordPress, en el código de arriba pongo el ejemplo de una instalación natural y es «wp_posts». En tu error pones «‘*******.wp_posts’», entonces hay dos opciones.
    1- Ejecutaste mal el código.
    2- Tus tablas tienen otro nombre y no es como se instala por omisión. En este caso tendrías que usar «tuprefijo_wp_posts», con el nombre exacto de tu tabla.

    Saludos.

  3. jose cruz dice

    diciembre 27, 2011 en 3:29 am

    BUENAS NOCHES, ACAVO DE LEER TU PUBLICACIÓN, AUN NO LA HE UTILIZADO PERO ESPERO Y ME FUNCIONE.

    UNA PREGUNTA, NECESITO QUITAR TODAS LA PUBLICACIONES DE UNA CATEGORIA, DECIDÍ BORRAR LAS PARA QUE NO SE ENCUENTREN EN SEO,

    PERO EN EL FUTURO NECESITO VOLVERLOS A COLOCAR, ALGUNA SUGERENCIA PARA RESPALDAR TODAS LAS ENTRADAS DE UNA CATEGORIA???
    DE ANTEMANO MUICHAS GRACIAS.

    • Peter Olle dice

      diciembre 27, 2011 en 10:37 am

      No se cual sea el fin de quitar y poner posts al por mayor, pero si vas a quitar y poner, mejor pásalos todos a borrador y después los regresas a publicados.

      Saludos.

      • jose cruz dice

        diciembre 27, 2011 en 4:43 pm

        buenos días y gracias por responder, esta opción que me mencionas es lo que necesito, el objetivo era ese ya que como nos patrocinan una categoría, hay un pequeño lapso de un mes en el cual no podemos publicar ni mostrar nada de estos patrocinadores pero posteriormente, necesitamos volver a mostrar su contenido.

        te lo agradezco mucho.

        sin más.

        jose cruz chavez

        • Peter Olle dice

          enero 2, 2012 en 12:56 pm

          De nada José, que bueno que te sirvió el tip.

          Saludos.

  4. AstiVPL dice

    enero 4, 2012 en 10:38 am

    Muy práctico. Me ha servido para aprender cómo se relacionan los posts con las categoría dentro de la base de datos, ya que lo que yo necesito no es eliminarlos, sino obtenerlos direactamente de la base de datos por categorías. Ahora, basándome en esta consulta creo que podré conseguir mi propósito. ¡Gracias!

    • Peter Olle dice

      enero 4, 2012 en 10:40 am

      Que bueno que te ayudó aunque no sea para lo mismo.

      Saludos.

  5. Toni dice

    octubre 15, 2012 en 1:50 pm

    Me ha ido genial para borrar 1000 entradas. Fantástico

  6. Todoenlaces dice

    marzo 18, 2013 en 9:36 pm

    Felicidades por un artículo tan bien explicado.

    He intentado borrar 4000 entradas utilizando la última versión de WordPress y no me lo ha borrado correctamente. Ha desaparecido la categoría pero se me han quedado comentarios, etiquetas y varios cientos de artículos que he tenido que borrar a mano.

  7. victor fernandez dice

    junio 24, 2013 en 4:34 pm

    Me ha servido tu ejemplo, una pregunta….¿cómo harías la consulta para eliminar todos los post que se han quedado sin categoría?, he probado poniendo el id = 0 pero no funciona, imagino que la consulta a la base de datos debe platearse de otra forma ¿no?
    Gracias.
    Saludos

    • Peter Olle dice

      junio 24, 2013 en 4:36 pm

      La categoría sin categoría también tiene un ID y puedes ver cual tiene asignado en la administración.

      Saludos.

      • victor fernandez dice

        junio 24, 2013 en 4:38 pm

        Gracias Peter, pero no me refiero a la categoria «sin categoria» que viene por defecto en el wordpress, me refiero a un montón de post que borré la categoría la que pertenecían y ahora se han quedado en el listado de post pero sin categoria asignada, me gustaría limpiarlo pero no termino de dar con la consulta sql adecuada.
        Te agradecería si me pudieras echar una mano.
        Gracias.
        Saludos.

        • Peter Olle dice

          junio 24, 2013 en 4:45 pm

          Crea la categoría «Basura», asigna de manera masiva todos esos posts a la categoría y borralos con la consulta de arriba. 😉

Barra lateral primaria

Archivos

  • febrero 2021
  • enero 2021
  • diciembre 2020
  • julio 2019
  • abril 2019
  • mayo 2015
  • abril 2015
  • marzo 2015
  • febrero 2015
  • noviembre 2014
  • septiembre 2014
  • agosto 2014
  • julio 2014
  • mayo 2014
  • abril 2014
  • marzo 2014
  • septiembre 2013
  • agosto 2013
  • junio 2013
  • diciembre 2012
  • septiembre 2012
  • agosto 2012
  • mayo 2012
  • abril 2012
  • enero 2012
  • diciembre 2011
  • noviembre 2011
  • octubre 2011
  • agosto 2011
  • julio 2011
  • junio 2011
  • mayo 2011
  • abril 2011
  • marzo 2011
  • febrero 2011
  • enero 2011

Categorías

  • Administración
  • Beta
  • Breves
  • Código
  • Errores
  • Eventos
  • Funciones
  • Internet
  • Noticias
  • Plugins
  • Seguridad
  • SEO
  • Themes
  • WordPress