📜  wordpress max post revision - PHP (1)

📅  最后修改于: 2023-12-03 14:48:32.127000             🧑  作者: Mango

WordPress Max Post Revision - PHP

介绍

在WordPress中,每当你对一篇文章进行编辑时,系统便会默认地保存一次新的副本。如果你经常编辑文章,就会发现这些副本会消耗掉你的数据库资源,从而影响网站的性能。为了解决这个问题,WordPress提供了一个设置参数,允许你控制文章保存的版本数目。本文将介绍如何使用PHP代码来设置文章保存的最大版本数目。

代码
/**
 * 设置文章保存的最大版本数目
 *
 * 这个代码片段会限制WordPress保存每篇文章的版本数量。如需修改版本数目,请将最后一行代码的数字更改为所需的版本数目即可。
 *
 * @param int     $num_revisions  最大版本数目
 * @param WP_Post $post           文章post object
 * @return int
 */
function set_max_post_revisions( $num_revisions, $post ) {
    if ( ! $post || ! property_exists( $post, 'post_type' ) || $post->post_type !== 'post' ) {
        return $num_revisions;
    }
    return 3; // 最多保存3个版本的文章
}
add_filter( 'wp_revisions_to_keep', 'set_max_post_revisions', 10, 2 );
解释

上述代码使用了WordPress的add_filter函数来修改文章保存版本的数量。该函数需要三个参数:过滤器名称、进行过滤的回调函数和优先级。在本例中,我们使用的过滤器是wp_revisions_to_keep,这个过滤器需要重新定义WordPress保存文章版本的数量。接下来,我们为这个过滤器指定了一个回调函数set_max_post_revisions,其中该函数的第一个参数为最大版本数目,第二个参数为post object即文章对象。最后一个参数“10”指定了函数的优先级数值,本例中默认为10。

set_max_post_revisions函数中,我们用条件判断语句if来限制文章类型只针对posts设置版本数,其他对象如pages不受限制。最后,我们使用数字3来代表文章最大保存3个版本,你可以自行在这个数字设置你想要保存的版本数量。

结论

通过使用上述代码,你可以帮助你的WordPress网站更好地管理文章编辑的版本历史记录。同时也减轻了数据库压力,提高了网站的性能和效率。