_media_states()
云策文档标注
概述
_media_states() 函数用于输出附件媒体状态的 HTML 字符串。它基于 get_media_states() 获取状态数组,并可选地直接显示或返回字符串。
关键要点
- 函数接受两个参数:$post(必需,WP_Post 对象)和 $display(可选,布尔值,默认为 true)。
- 返回值为媒体状态字符串,当 $display 为 true 时直接输出 HTML。
- 内部使用 get_media_states() 获取状态数组,并格式化输出为带分隔符的列表。
- 自 WordPress 5.6.0 起添加了 $display 参数和返回值,最初在 3.2.0 版本引入。
代码示例
function _media_states( $post, $display = true ) {
$media_states = get_media_states( $post );
$media_states_string = '';
if ( ! empty( $media_states ) ) {
$state_count = count( $media_states );
$i = 0;
$media_states_string .= ' — ';
foreach ( $media_states as $state ) {
++$i;
$separator = ( $i < $state_count ) ? ', ' : '';
$media_states_string .= "{$state}{$separator}";
}
}
if ( $display ) {
echo $media_states_string;
}
return $media_states_string;
}注意事项
- 此函数主要用于内部管理界面,如 WP_Media_List_Table::column_title() 中处理标题列输出。
- 开发者应确保传入有效的 WP_Post 对象以避免错误。
原文内容
Outputs the attachment media states as HTML.
Parameters
$postWP_Postrequired-
The attachment post to retrieve states for.
$displaybooloptional-
Whether to display the post states as an HTML string.
Default:
true
Source
function _media_states( $post, $display = true ) {
$media_states = get_media_states( $post );
$media_states_string = '';
if ( ! empty( $media_states ) ) {
$state_count = count( $media_states );
$i = 0;
$media_states_string .= ' — ';
foreach ( $media_states as $state ) {
++$i;
$separator = ( $i < $state_count ) ? ', ' : '';
$media_states_string .= "<span class='post-state'>{$state}{$separator}</span>";
}
}
if ( $display ) {
echo $media_states_string;
}
return $media_states_string;
}