函数文档

dismissed_updates()

💡 云策文档标注

概述

dismissed_updates() 函数用于在 WordPress 后台显示已忽略的核心更新。它通过查询已忽略的更新并生成一个切换按钮来展示或隐藏这些更新。

关键要点

  • 函数主要功能是显示已忽略的核心更新,通过 get_core_updates() 查询并设置参数 'dismissed' => true 和 'available' => false。
  • 使用 esc_js() 和 __() 函数处理文本的转义和国际化,确保安全性和多语言支持。
  • 通过 list_core_update() 函数列出每个已忽略的更新详情,并生成一个可切换显示/隐藏的界面。
  • 该函数在 WordPress 2.7.0 版本中引入,主要用于核心升级流程中。

代码示例

function dismissed_updates() {
	$dismissed = get_core_updates(
		array(
			'dismissed' => true,
			'available' => false,
		)
	);

	if ( $dismissed ) {
		$show_text = esc_js( __( 'Show hidden updates' ) );
		$hide_text = esc_js( __( 'Hide hidden updates' ) );
		?>
		
		' . __( 'Show hidden updates' ) . '';
		echo '';
		foreach ( (array) $dismissed as $update ) {
			echo '';
			list_core_update( $update );
			echo '';
		}
		echo '';
	}
}

注意事项

  • 此函数依赖于 get_core_updates() 来获取更新数据,确保该函数可用且参数设置正确。
  • 在输出 HTML 和 JavaScript 时,使用 esc_js() 转义字符串以防止 XSS 攻击,并利用 __() 进行本地化翻译。
  • 函数主要用于后台管理界面,如 core_upgrade_preamble() 中,开发者应避免在前端直接调用。

📄 原文内容

Display dismissed updates.

Source

function dismissed_updates() {
	$dismissed = get_core_updates(
		array(
			'dismissed' => true,
			'available' => false,
		)
	);

	if ( $dismissed ) {
		$show_text = esc_js( __( 'Show hidden updates' ) );
		$hide_text = esc_js( __( 'Hide hidden updates' ) );
		?>
		<script type="text/javascript">
			jQuery( function( $ ) {
				$( '#show-dismissed' ).on( 'click', function() {
					var isExpanded = ( 'true' === $( this ).attr( 'aria-expanded' ) );

					if ( isExpanded ) {
						$( this ).text( '<?php echo $show_text; ?>' ).attr( 'aria-expanded', 'false' );
					} else {
						$( this ).text( '<?php echo $hide_text; ?>' ).attr( 'aria-expanded', 'true' );
					}

					$( '#dismissed-updates' ).toggle( 'fast' );
				});
			});
		</script>
		<button type="button" class="button" id="show-dismissed" aria-expanded="false">' . __( 'Show hidden updates' ) . '</button></p>';
		echo '<ul id="dismissed-updates" class="core-updates dismissed">';
		foreach ( (array) $dismissed as $update ) {
			echo '<li>';
			list_core_update( $update );
			echo '</li>';
		}
		echo '</ul>';
	}
}

Changelog

Version Description
2.7.0 Introduced.