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. |