函数文档

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

Return

string Upload iframe source URL.

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.