有两种限制WordPress修订的方法; WP_POST_REVISIONS和wp_revisions_to_keep()。哪个会有更高的优先级?在阅读完codex之后我无法理解。
答案 0 :(得分:1)
WP_POST_REVISIONS
是常量,不是函数。如果您设置了WP_POST_REVISIONS
,请设置define( 'WP_POST_REVISIONS', 3 );
,那么当您调用函数wp_revisions_to_keep
时,您将获得3(前提是没有过滤器正在修改该值)。如果未设置WP_POST_REVISIONS
,那么它将存储每个修订版本,当您致电-1
时,您将获得wp_revisions_to_keep
。这是wp_revisions_to_keep的源代码。
/**
* Determine how many revisions to retain for a given post.
* By default, an infinite number of revisions are stored if a post type supports revisions.
*
* @since 3.6.0
*
* @uses post_type_supports()
* @uses apply_filters() Calls 'wp_revisions_to_keep' hook on the number of revisions.
*
* @param object $post The post object.
* @return int The number of revisions to keep.
*/
function wp_revisions_to_keep( $post ) {
$num = WP_POST_REVISIONS;
if ( true === $num )
$num = -1;
else
$num = intval( $num );
if ( ! post_type_supports( $post->post_type, 'revisions' ) )
$num = 0;
return (int) apply_filters( 'wp_revisions_to_keep', $num, $post );
}
由此可见,函数wp_revisions_to_keep()
在其中使用了WP_POST_REVISIONS。但是,为了100%确定您建议的修订数量,您应该将函数挂钩到wp_revisions_to_keep
。这样的事情: -
add_filter('wp_revisions_to_keep', 'custom_revisions_number', 10, 2);
function custom_revisions_number($num, $post) {
$num = 5; // <---- change this accordingly.
return $num;
}
最高优先级是最后执行的挂钩。