wp_prepare_attachment_for_js() – Prepares an attachment post object for JS, where it is expected to be JSON-encoded and fit into an Attachment model.
You appear to be a bot. Output may be restricted
Description
Prepares an attachment post object for JS, where it is expected to be JSON-encoded and fit into an Attachment model.
Usage
$array|void = wp_prepare_attachment_for_js( $attachment );
Parameters
- $attachment
- ( int|WP_Post ) required – Attachment ID or object.
- $alt
- ( string ) required – Alt text of the attachment.
- $author
- ( string ) required – ID of the attachment author, as a string.
- $authorName
- ( string ) required – Name of the attachment author.
- $caption
- ( string ) required – Caption for the attachment.
- $compat
- ( array ) required – Containing item and meta.
- $context
- ( string ) required – Context, whether it's used as the site icon for example.
- $date
- ( int ) required – Uploaded date, timestamp in milliseconds.
- $dateFormatted
- ( string ) required – Formatted date (e.g. June 29, 2018).
- $description
- ( string ) required – Description of the attachment.
- $editLink
- ( string ) required – URL to the edit page for the attachment.
- $filename
- ( string ) required – File name of the attachment.
- $filesizeHumanReadable
- ( string ) required – Filesize of the attachment in human readable format (e.g. 1 MB).
- $filesizeInBytes
- ( int ) required – Filesize of the attachment in bytes.
- $height
- ( int ) required – If the attachment is an image, represents the height of the image in pixels.
- $icon
- ( string ) required – Icon URL of the attachment (e.g. /wp-includes/images/media/archive.png).
- $id
- ( int ) required – ID of the attachment.
- $link
- ( string ) required – URL to the attachment.
- $menuOrder
- ( int ) required – Menu order of the attachment post.
- $meta
- ( array ) required – Meta data for the attachment.
- $mime
- ( string ) required – Mime type of the attachment (e.g. image/jpeg or application/zip).
- $modified
- ( int ) required – Last modified, timestamp in milliseconds.
- $name
- ( string ) required – Name, same as title of the attachment.
- $nonces
- ( array ) required – Nonces for update, delete and edit.
- $orientation
- ( string ) required – If the attachment is an image, represents the image orientation (landscape or portrait).
- $sizes
- ( array ) required – If the attachment is an image, contains an array of arrays for the images sizes: thumbnail, medium, large, and full.
- $status
- ( string ) required – Post status of the attachment (usually 'inherit').
- $subtype
- ( string ) required – Mime subtype of the attachment (usually the last part, e.g. jpeg or zip).
- $title
- ( string ) required – Title of the attachment (usually slugified file name without the extension).
- $type
- ( string ) required – Type of the attachment (usually first part of the mime type, e.g. image).
- $uploadedTo
- ( int ) required – Parent post to which the attachment was uploaded.
- $uploadedToLink
- ( string ) required – URL to the edit page of the parent post of the attachment.
- $uploadedToTitle
- ( string ) required – Post title of the parent of the attachment.
- $url
- ( string ) required – Direct URL to the attachment file (from wp-content).
- $width
- ( int ) required – If the attachment is an image, represents the width of the image in pixels. }
Returns
array|void { Array of attachment details, or void if the parameter does not correspond to an attachment.
Source
File name: wordpress/wp-includes/media.php
Lines:
1 to 100 of 241
function wp_prepare_attachment_for_js( $attachment ) { $attachment = get_post( $attachment ); if ( ! $attachment ) { return; } if ( 'attachment' !== $attachment->post_type ) { return; } $meta = wp_get_attachment_metadata( $attachment->ID ); if ( str_contains( $attachment->post_mime_type, '/' ) ) { list( $type, $subtype ) = explode( '/', $attachment->post_mime_type ); } else { list( $type, $subtype ) = array( $attachment->post_mime_type, '' ); } $attachment_url = wp_get_attachment_url( $attachment->ID ); $base_url = str_replace( wp_basename( $attachment_url ), '', $attachment_url ); $response = array( 'id' => $attachment->ID, 'title' => $attachment->post_title, 'filename' => wp_basename( get_attached_file( $attachment->ID ) ), 'url' => $attachment_url, 'link' => get_attachment_link( $attachment->ID ), 'alt' => get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true ), 'author' => $attachment->post_author, 'description' => $attachment->post_content, 'caption' => $attachment->post_excerpt, 'name' => $attachment->post_name, 'status' => $attachment->post_status, 'uploadedTo' => $attachment->post_parent, 'date' => strtotime( $attachment->post_date_gmt ) * 1000, 'modified' => strtotime( $attachment->post_modified_gmt ) * 1000, 'menuOrder' => $attachment->menu_order, 'mime' => $attachment->post_mime_type, 'type' => $type, 'subtype' => $subtype, 'icon' => wp_mime_type_icon( $attachment->ID ), 'dateFormatted' => mysql2date( __( 'F j, Y' ), $attachment->post_date ), 'nonces' => array( 'update' => false, 'delete' => false, 'edit' => false, ), 'editLink' => false, 'meta' => false, ); $author = new WP_User( $attachment->post_author ); if ( $author->exists() ) { $author_name = $author->display_name ? $author->display_name : $author->nickname; $response['authorName'] = html_entity_decode( $author_name, ENT_QUOTES, get_bloginfo( 'charset' ) ); $response['authorLink'] = get_edit_user_link( $author->ID ); } else { $response['authorName'] = __( '(no author)' ); } if ( $attachment->post_parent ) { $post_parent = get_post( $attachment->post_parent ); if ( $post_parent ) { $response['uploadedToTitle'] = $post_parent->post_title ? $post_parent->post_title : __( '(no title)' ); $response['uploadedToLink'] = get_edit_post_link( $attachment->post_parent, 'raw' ); } } $attached_file = get_attached_file( $attachment->ID ); if ( isset( $meta['filesize'] ) ) { $bytes = $meta['filesize']; } elseif ( file_exists( $attached_file ) ) { $bytes = wp_filesize( $attached_file ); } else { $bytes = ''; } if ( $bytes ) { $response['filesizeInBytes'] = $bytes; $response['filesizeHumanReadable'] = size_format( $bytes ); } $context = get_post_meta( $attachment->ID, '_wp_attachment_context', true ); $response['context'] = ( $context ) ? $context : ''; if ( current_user_can( 'edit_post', $attachment->ID ) ) { $response['nonces']['update'] = wp_create_nonce( 'update-post_' . $attachment->ID ); $response['nonces']['edit'] = wp_create_nonce( 'image_editor-' . $attachment->ID ); $response['editLink'] = get_edit_post_link( $attachment->ID, 'raw' ); } if ( current_user_can( 'delete_post', $attachment->ID ) ) { $response['nonces']['delete'] = wp_create_nonce( 'delete-post_' . $attachment->ID ); } if ( $meta && ( 'image' === $type || ! empty( $meta['sizes'] ) ) ) { $sizes = array();