函数文档

_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

Return

string Media states string.

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;
}

Changelog

Version Description
5.6.0 Added the $display parameter and a return value.
3.2.0 Introduced.