函数文档

the_media_upload_tabs()

💡 云策文档标注

概述

the_media_upload_tabs() 函数用于输出旧版媒体上传界面的标签页 UI。它基于 media_upload_tabs() 定义的标签,通过条件逻辑确定当前活动标签,并生成相应的 HTML 链接列表。

关键要点

  • 函数输出旧版(3.5.0 之前)媒体上传弹出窗口的标签页 UI。
  • 使用 media_upload_tabs() 获取标签定义,通过 $redir_tab、$_GET['tab'] 或 media_upload_default_tab 过滤器确定当前标签。
  • 为每个标签生成带有查询参数的链接,当前标签添加 class='current' 样式。
  • 涉及 Hook:apply_filters('media_upload_default_tab', $tab) 用于过滤默认标签。

代码示例

function the_media_upload_tabs() {
	global $redir_tab;
	$tabs    = media_upload_tabs();
	$default = 'type';

	if ( ! empty( $tabs ) ) {
		echo "n";

		if ( isset( $redir_tab ) && array_key_exists( $redir_tab, $tabs ) ) {
			$current = $redir_tab;
		} elseif ( isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $tabs ) ) {
			$current = $_GET['tab'];
		} else {
			/** This filter is documented in wp-admin/media-upload.php */
			$current = apply_filters( 'media_upload_default_tab', $default );
		}

		foreach ( $tabs as $callback => $text ) {
			$class = '';

			if ( $current === $callback ) {
				$class = " class='current'";
			}

			$href = add_query_arg(
				array(
					'tab'            => $callback,
					's'              => false,
					'paged'          => false,
					'post_mime_type' => false,
					'm'              => false,
				)
			);
			$link = "$text";
			echo "t$linkn";
		}

		echo "n";
	}
}

注意事项

  • 此函数适用于旧版媒体上传界面,自 WordPress 3.5.0 起可能已过时,建议在新开发中使用现代媒体库 API。
  • 函数依赖于全局变量 $redir_tab 和 $_GET['tab'],使用时需确保这些变量已正确设置。
  • 输出为 HTML 链接列表,需在适当上下文中调用以确保样式和功能正常。

📄 原文内容

Outputs the legacy media upload tabs UI.

Source

function the_media_upload_tabs() {
	global $redir_tab;
	$tabs    = media_upload_tabs();
	$default = 'type';

	if ( ! empty( $tabs ) ) {
		echo "<ul id='sidemenu'>n";

		if ( isset( $redir_tab ) && array_key_exists( $redir_tab, $tabs ) ) {
			$current = $redir_tab;
		} elseif ( isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $tabs ) ) {
			$current = $_GET['tab'];
		} else {
			/** This filter is documented in wp-admin/media-upload.php */
			$current = apply_filters( 'media_upload_default_tab', $default );
		}

		foreach ( $tabs as $callback => $text ) {
			$class = '';

			if ( $current === $callback ) {
				$class = " class='current'";
			}

			$href = add_query_arg(
				array(
					'tab'            => $callback,
					's'              => false,
					'paged'          => false,
					'post_mime_type' => false,
					'm'              => false,
				)
			);
			$link = "<a href='" . esc_url( $href ) . "'$class>$text</a>";
			echo "t<li id='" . esc_attr( "tab-$callback" ) . "'>$link</li>n";
		}

		echo "</ul>n";
	}
}

Hooks

apply_filters( ‘media_upload_default_tab’, string $tab )

Filters the default tab in the legacy (pre-3.5.0) media popup.

Changelog

Version Description
2.5.0 Introduced.