get_media_item

Definition:
function get_media_item( $attachment_id, $args = null ) {}

Retrieve HTML form for modifying the image attachment.

Parameters

  • int $attachment_id: Attachment ID for modification.
  • string|array $args: Optional. Override defaults.

Return values

returns:HTML form for attachment.

Defined filters

  • get_media_item_args
    apply_filters( 'get_media_item_args', $args )

Source code

function get_media_item( $attachment_id, $args = null ) {

	global $redir_tab;



	if ( ( $attachment_id = intval( $attachment_id ) ) && $thumb_url = wp_get_attachment_image_src( $attachment_id, 'thumbnail', true ) )

		$thumb_url = $thumb_url[0];

	else

		$thumb_url = false;



	$post = get_post( $attachment_id );



	$default_args = array( 'errors' => null, 'send' => $post->post_parent ? post_type_supports( get_post_type( $post->post_parent ), 'editor' ) : true, 'delete' => true, 'toggle' => true, 'show_title' => true );

	$args = wp_parse_args( $args, $default_args );

	$args = apply_filters( 'get_media_item_args', $args );

	extract( $args, EXTR_SKIP );



	$toggle_on  = __( 'Show' );

	$toggle_off = __( 'Hide' );



	$filename = esc_html( basename( $post->guid ) );

	$title = esc_attr( $post->post_title );



	if ( $_tags = get_the_tags( $attachment_id ) ) {

		foreach ( $_tags as $tag )

			$tags[] = $tag->name;

		$tags = esc_attr( join( ', ', $tags ) );

	}



	$post_mime_types = get_post_mime_types();

	$keys = array_keys( wp_match_mime_types( array_keys( $post_mime_types ), $post->post_mime_type ) );

	$type = array_shift( $keys );

	$type_html = "<input type='hidden' id='type-of-$attachment_id' value='" . esc_attr( $type ) . "' />";



	$form_fields = get_attachment_fields_to_edit( $post, $errors );



	if ( $toggle ) {

		$class = empty( $errors ) ? 'startclosed' : 'startopen';

		$toggle_links = "

	<a class='toggle describe-toggle-on' href='#'>$toggle_on</a>

	<a class='toggle describe-toggle-off' href='#'>$toggle_off</a>";

	} else {

		$class = 'form-table';

		$toggle_links = '';

	}



	$display_title = ( !empty( $title ) ) ? $title : $filename; // $title shouldn't ever be empty, but just in case

	$display_title = $show_title ? "<div class='filename new'><span class='title'>" . wp_html_excerpt( $display_title, 60 ) . "</span></div>" : '';



	$gallery = ( ( isset( $_REQUEST['tab'] ) && 'gallery' == $_REQUEST['tab'] ) || ( isset( $redir_tab ) && 'gallery' == $redir_tab ) );

	$order = '';



	foreach ( $form_fields as $key => $val ) {

		if ( 'menu_order' == $key ) {

			if ( $gallery )

				$order = "<div class='menu_order'> <input class='menu_order_input' type='text' id='attachments[$attachment_id][menu_order]' name='attachments[$attachment_id][menu_order]' value='" . esc_attr( $val['value'] ). "' /></div>";

			else

				$order = "<input type='hidden' name='attachments[$attachment_id][menu_order]' value='" . esc_attr( $val['value'] ) . "' />";



			unset( $form_fields['menu_order'] );

			break;

		}

	}



	$media_dims = '';

	$meta = wp_get_attachment_metadata( $post->ID );

	if ( is_array( $meta ) && array_key_exists( 'width', $meta ) && array_key_exists( 'height', $meta ) )

		$media_dims .= "<span id='media-dims-$post->ID'>{$meta['width']}&nbsp;&times;&nbsp;{$meta['height']}</span> ";

1478

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: