【问题标题】:Auto Delete Old Wordpress Posts in Certain Categories via SQL通过 SQL 自动删除某些类别中的旧 Wordpress 帖子
【发布时间】:2012-09-24 05:50:34
【问题描述】:

我在另一个线程中找到了以下 SQL 脚本:

DELETE FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > 120

此脚本将查找并删除所有超过 120 天的帖子。 但是,我想知道这是否也只能在某些类别中完成。 我想保留某些类别的所有旧帖子,但删除其他类别的所有旧帖子。

另外,如果是这样,有没有办法让这个脚本每天运行?

我对这类事情非常不满,所以任何帮助都将不胜感激。

【问题讨论】:

    标签: sql wordpress categories posts


    【解决方案1】:

    您最好使用 wp_delete_post (http://codex.wordpress.org/Function_Reference/wp_delete_post) 函数来做您想做的事情,因为数据库中的帖子 cmets 等之间有很多关系。 => http://codex.wordpress.org/images/9/9e/WP3.0-ERD.png

    要每天运行这个脚本,你必须在你的服务器上做一个 CRON 作业: http://www.thesitewizard.com/general/set-cron-job.shtml

    希望对你有帮助

    【讨论】:

    • 感谢您的回复。我打算删除的所有帖子都没有 cmets,并且是汇总的。你的意思还是说我应该看看你在这里发布的内容?
    • 应该说我说的是几千个帖子。我什至可能有多达 100 000 个帖子...:/
    • 不要介意帖子的数量,您可以使用之前编写的自定义 SQL 查询来获取相关帖子的列表,并将结果与​​ wp_delete_post($id) 一起使用。在您的脚本中,您只需执行以下操作:请求 SQL 结果/将结果存储在数组中/Foreach 结果在数组中 wp_delete_post($id)
    • 有没有机会告诉我如何、在哪里以及做什么?我没有写我发布的内容,我只是找到了它。我所知道的就是在哪里运行它,恐怕就是这样。就像我说的那样,我在这个领域非常绿色,坦率地说,我什至不知道从哪里开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    • 2021-08-07
    • 2015-01-15
    相关资源
    最近更新 更多