在不使用WordPress功能的情况下跟踪已删除的帖子


keeping track of deleted posts without using wordpress functions

我有2个WordPress网站AB

如果A以某种方式更改(添加帖子,编辑帖子,删除帖子),B也需要更改。

因此,A通过使用每隔几分钟检查一次数据库的PHP机器人,我为added创建了一个json提要,并edited A帖子。

通过检查wp_posts表很容易跟踪添加/编辑的帖子。 但是我找不到一种方法来知道哪些帖子已被删除(永久删除)。

这个脚本应该是可移植的,可供不是程序员的人使用,所以我不想使用WordPress函数或对WordPress系统进行任何更改/添加。

那么有没有办法通过检查数据库或类似的东西来找到已删除的帖子?

您可以使用查询检查回收站中的帖子:

SELECT * FROM `wp_posts` WHERE `post_status` = 'trash'

但是,如果您尝试查找已从数据库中删除的帖子,则需要跟踪wp_posts表中缺少的 ID,或者添加一些功能来跟踪帖子何时被删除。您可以通过在主题中使用delete_post动作挂钩来执行此操作:

function my_tracking_function() {
    // Put ID into new database table
}
add_action( 'delete_post', 'my_tracking_function', 1 );

然后将该表传递给其他站点进行处理。同步两个站点后,您可以运行清理例程来清空跟踪表。我意识到这部分使用了Wordpress功能,但是表数据的传递可以在Wordpress之外使用SQL完成。