get_upload_iframe_src()
云策文档标注
概述
get_upload_iframe_src() 函数用于生成媒体上传 iframe 的源 URL,支持通过参数定制媒体类型、文章 ID 和标签页。
关键要点
- 函数返回一个字符串,表示上传 iframe 的源 URL。
- 接受三个可选参数:$type(媒体类型,默认为 null)、$post_id(文章 ID,默认为 null)、$tab(上传标签页,默认为 null)。
- 内部使用 add_query_arg() 和 admin_url() 构建 URL,并应用动态过滤器 {$type}_upload_iframe_src。
- 最终 URL 包含 TB_iframe=true 参数,用于 Thickbox 集成。
代码示例
function get_upload_iframe_src( $type = null, $post_id = null, $tab = null ) {
global $post_ID;
if ( empty( $post_id ) ) {
$post_id = $post_ID;
}
$upload_iframe_src = add_query_arg( 'post_id', (int) $post_id, admin_url( 'media-upload.php' ) );
if ( $type && 'media' !== $type ) {
$upload_iframe_src = add_query_arg( 'type', $type, $upload_iframe_src );
}
if ( ! empty( $tab ) ) {
$upload_iframe_src = add_query_arg( 'tab', $tab, $upload_iframe_src );
}
$upload_iframe_src = apply_filters( "{$type}_upload_iframe_src", $upload_iframe_src );
return add_query_arg( 'TB_iframe', true, $upload_iframe_src );
}注意事项
- 当 $post_id 为空时,函数会使用全局变量 $post_ID 作为默认值。
- 过滤器 {$type}_upload_iframe_src 允许开发者自定义特定媒体类型的上传 iframe 源 URL。
- 函数自 WordPress 3.0.0 版本引入,常用于媒体上传界面集成。
原文内容
Retrieves the upload iframe source URL.
Parameters
$typestringoptional-
Media type.
Default:
null $post_idintoptional-
Post ID.
Default:
null $tabstringoptional-
Media upload tab.
Default:
null
Source
function get_upload_iframe_src( $type = null, $post_id = null, $tab = null ) {
global $post_ID;
if ( empty( $post_id ) ) {
$post_id = $post_ID;
}
$upload_iframe_src = add_query_arg( 'post_id', (int) $post_id, admin_url( 'media-upload.php' ) );
if ( $type && 'media' !== $type ) {
$upload_iframe_src = add_query_arg( 'type', $type, $upload_iframe_src );
}
if ( ! empty( $tab ) ) {
$upload_iframe_src = add_query_arg( 'tab', $tab, $upload_iframe_src );
}
/**
* Filters the upload iframe source URL for a specific media type.
*
* The dynamic portion of the hook name, `$type`, refers to the type
* of media uploaded.
*
* Possible hook names include:
*
* - `image_upload_iframe_src`
* - `media_upload_iframe_src`
*
* @since 3.0.0
*
* @param string $upload_iframe_src The upload iframe source URL.
*/
$upload_iframe_src = apply_filters( "{$type}_upload_iframe_src", $upload_iframe_src );
return add_query_arg( 'TB_iframe', true, $upload_iframe_src );
}
Hooks
- apply_filters( “{$type}_upload_iframe_src”, string $upload_iframe_src )
-
Filters the upload iframe source URL for a specific media type.
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |