- A+
在平常建站生涯中, 可能无可避免的需要处理一些文章,涉及批量操作的话,如果单单从管理后台来删可能需要花费大量的时间,那么我们就需要从数据库来操作删除,今天正好有这个需求,删除某个分类下面的文章。
先大概了解下wordpress数据库结构:
![[小技巧]WordPress如何快速删除某个分类或者标签下的文章](https://blog.cysua.com/wp-content/uploads/2022/07/image.png)
如果没有改数据库前缀wp_的话,大概数据库结构如上图。
wp_posts:所有发布的文章、内容信息。
wp_terms:标签和分类信息
wp_term_relationships:标签和文章关系表
如果我们需要删除一个分类下的文章,那么首先需要拿到分类的id,你可以在wp_terms里面找到,或者在网站页面的这里也可以找到。
![[小技巧]WordPress如何快速删除某个分类或者标签下的文章](https://blog.cysua.com/wp-content/uploads/2022/07/image-1-1024x825.png)
拿到这个id,就可以直接在数据库管理软件或者命令行直接执行下面的命令:
delete from wp_posts using wp_posts, wp_term_relationships, wp_term_taxonomy where wp_posts.id=wp_term_relationships.object_id and wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id and wp_term_relationships.term_taxonomy_id = 19
把上面的19换成你的分类或者标签id即可。
如果同时需要删除分类,也可以执行sql命令,或者直接后台界面删除,分类删除还是比较简单。
delete FROM `wp_term_relationships` where term_taxonomy_id=19