函数文档

_clear_modified_cache_on_transition_comment_status()

💡 云策文档标注

概述

此函数用于在评论状态变更时清除 lastcommentmodified 缓存值,确保缓存数据与评论状态同步。

关键要点

  • 当评论状态变为或离开 'approved' 状态时,触发缓存清除操作。
  • 使用 wp_cache_delete_multiple() 函数批量删除与 lastcommentmodified 相关的缓存键。
  • 缓存键包括 'server'、'gmt' 和 'blog' 时区版本,以覆盖不同时间设置。

代码示例

function _clear_modified_cache_on_transition_comment_status( $new_status, $old_status ) {
	if ( 'approved' === $new_status || 'approved' === $old_status ) {
		$data = array();
		foreach ( array( 'server', 'gmt', 'blog' ) as $timezone ) {
			$data[] = "lastcommentmodified:$timezone";
		}
		wp_cache_delete_multiple( $data, 'timeinfo' );
	}
}

注意事项

  • 此函数自 WordPress 4.7.0 版本引入,需确保兼容性。
  • 参数 $new_status 和 $old_status 均为必需字符串,分别表示新和旧的评论状态。
  • 缓存清除操作针对 'timeinfo' 缓存组,避免影响其他缓存数据。

📄 原文内容

Clears the lastcommentmodified cached value when a comment status is changed.

Description

Deletes the lastcommentmodified cache key when a comment enters or leaves ‘approved’ status.

Parameters

$new_statusstringrequired
The new comment status.
$old_statusstringrequired
The old comment status.

Source

function _clear_modified_cache_on_transition_comment_status( $new_status, $old_status ) {
	if ( 'approved' === $new_status || 'approved' === $old_status ) {
		$data = array();
		foreach ( array( 'server', 'gmt', 'blog' ) as $timezone ) {
			$data[] = "lastcommentmodified:$timezone";
		}
		wp_cache_delete_multiple( $data, 'timeinfo' );
	}
}

Changelog

Version Description
4.7.0 Introduced.