Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




get_media_item [ WordPress Function ]

get_media_item ( $attachment_id, $args = null )
Parameters:
  • (int) $attachment_id Attachment ID for modification.
  • (string|array) $args Optional. Override defaults.
Returns:
  • (string) HTML form for attachment.
Defined at:



Retrieve HTML form for modifying the image attachment.

Source


<?php
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 );
    
$current_post_id = !empty( $_GET['post_id'] ) ? (int) $_GET['post_id'] : 0;

    
$default_args = array( 'errors' => null'send' => $current_post_id post_type_supportsget_post_type$current_post_id ), '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$argsEXTR_SKIP );

    
$toggle_on  __'Show' );
    
$toggle_off __'Hide' );

    
$filename esc_htmlbasename$post->guid ) );
    
$title esc_attr$post->post_title );

    if ( 
$_tags get_the_tags$attachment_id ) ) {
        foreach ( 
$_tags as $tag )
            
$tags[] = $tag->name;
        
$tags esc_attrjoin', '$tags ) );
    }

    
$post_mime_types get_post_mime_types();
    
$keys array_keyswp_match_mime_typesarray_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 '';
        
$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_title60 ) . "</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> ";
    
$media_dims apply_filters'media_meta'$media_dims$post );

    
$image_edit_button '';
    if ( 
gd_edit_image_support$post->post_mime_type ) ) {
        
$nonce wp_create_nonce"image_editor-$post->ID);
        
$image_edit_button "<input type='button' id='imgedit-open-btn-$post->ID' onclick='imageEdit.open( $post->ID, \"$nonce\" )' class='button' value='" esc_attr__'Edit Image' ) . "' /> <img src='" esc_urladmin_url'images/wpspin_light.gif' ) ) . "' class='imgedit-wait-spin' alt='' />";
    }

    
$attachment_url get_permalink$attachment_id );

    
$item "
    
$type_html
    
$toggle_links
    
$order
    
$display_title
    <table class='slidetoggle describe 
$class'>
        <thead class='media-item-info' id='media-head-
$post->ID'>
        <tr valign='top'>
            <td class='A1B1' id='thumbnail-head-
$post->ID'>
            <p><a href='
$attachment_url' target='_blank'><img class='thumbnail' src='$thumb_url' alt='' /></a></p>
            <p>
$image_edit_button</p>
            </td>
            <td>
            <p><strong>" 
__('File name:') . "</strong> $filename</p>
            <p><strong>" 
__('File type:') . "</strong> $post->post_mime_type</p>
            <p><strong>" 
__('Upload date:') . "</strong> " mysql2dateget_option('date_format'), $post->post_date ). '</p>';
            if ( !empty( 
$media_dims ) )
                
$item .= "<p><strong>" __('Dimensions:') . "</strong> $media_dims</p>\n";

            
$item .= "</td></tr>\n";

    
$item .= "
        </thead>
        <tbody>
        <tr><td colspan='2' class='imgedit-response' id='imgedit-response-
$post->ID'></td></tr>
        <tr><td style='display:none' colspan='2' class='image-editor' id='image-editor-
$post->ID'></td></tr>\n";

    
$defaults = array(
        
'input'      => 'text',
        
'required'   => false,
        
'value'      => '',
        
'extra_rows' => array(),
    );

    if ( 
$send )
        
$send get_submit_button__'Insert into Post' ), 'button'"send[$attachment_id]"false );
    if ( 
$delete && current_user_can'delete_post'$attachment_id ) ) {
        if ( !
EMPTY_TRASH_DAYS ) {
            
$delete "<a href='" wp_nonce_url"post.php?action=delete&amp;post=$attachment_id"'delete-attachment_' $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" __'Delete Permanently' ) . '</a>';
        } elseif ( !
MEDIA_TRASH ) {
            
$delete "<a href='#' class='del-link' onclick=\"document.getElementById('del_attachment_$attachment_id').style.display='block';return false;\">" __'Delete' ) . "</a>
             <div id='del_attachment_
$attachment_id' class='del-attachment' style='display:none;'><p>" sprintf__'You are about to delete <strong>%s</strong>.' ), $filename ) . "</p>
             <a href='" 
wp_nonce_url"post.php?action=delete&amp;post=$attachment_id"'delete-attachment_' $attachment_id ) . "' id='del[$attachment_id]' class='button'>" __'Continue' ) . "</a>
             <a href='#' class='button' onclick=\"this.parentNode.style.display='none';return false;\">" 
__'Cancel' ) . "</a>
             </div>"
;
        } else {
            
$delete "<a href='" wp_nonce_url"post.php?action=trash&amp;post=$attachment_id"'trash-attachment_' $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" __'Move to Trash' ) . "</a>
            <a href='" 
wp_nonce_url"post.php?action=untrash&amp;post=$attachment_id"'untrash-attachment_' $attachment_id ) . "' id='undo[$attachment_id]' class='undo hidden'>" __'Undo' ) . "</a>";
        }
    } else {
        
$delete '';
    }

    
$thumbnail '';
    
$calling_post_id 0;
    if ( isset( 
$_GET['post_id'] ) )
        
$calling_post_id absint$_GET['post_id'] );
    elseif ( isset( 
$_POST ) && count$_POST ) ) // Like for async-upload where $_GET['post_id'] isn't set
        
$calling_post_id $post->post_parent;
    if ( 
'image' == $type && $calling_post_id && current_theme_supports'post-thumbnails'get_post_type$calling_post_id ) )
        && 
post_type_supportsget_post_type$calling_post_id ), 'thumbnail' ) && get_post_thumbnail_id$calling_post_id ) != $attachment_id ) {
        
$ajax_nonce wp_create_nonce"set_post_thumbnail-$calling_post_id);
        
$thumbnail "<a class='wp-post-thumbnail' id='wp-post-thumbnail-" $attachment_id "' href='#' onclick='WPSetAsThumbnail(\"$attachment_id\", \"$ajax_nonce\");return false;'>" esc_html__"Use as featured image" ) . "</a>";
    }

    if ( ( 
$send || $thumbnail || $delete ) && !isset( $form_fields['buttons'] ) )
        
$form_fields['buttons'] = array( 'tr' => "\t\t<tr class='submit'><td></td><td class='savesend'>$send $thumbnail $delete</td></tr>\n" );

    
$hidden_fields = array();

    foreach ( 
$form_fields as $id => $field ) {
        if ( 
$id[0] == '_' )
            continue;

        if ( !empty( 
$field['tr'] ) ) {
            
$item .= $field['tr'];
            continue;
        }

        
$field array_merge$defaults$field );
        
$name "attachments[$attachment_id][$id]";

        if ( 
$field['input'] == 'hidden' ) {
            
$hidden_fields[$name] = $field['value'];
            continue;
        }

        
$required      $field['required'] ? '<span class="alignright"><abbr title="required" class="required">*</abbr></span>' '';
        
$aria_required $field['required'] ? " aria-required='true' " '';
        
$class  $id;
        
$class .= $field['required'] ? ' form-required' '';

        
$item .= "\t\t<tr class='$class'>\n\t\t\t<th valign='top' scope='row' class='label'><label for='$name'><span class='alignleft'>{$field['label']}</span>$required<br class='clear' /></label></th>\n\t\t\t<td class='field'>";
        if ( !empty( 
$field$field['input'] ] ) )
            
$item .= $field$field['input'] ];
        elseif ( 
$field['input'] == 'textarea' ) {
            if ( 
'post_content' == $id && user_can_richedit() ) {
                
// sanitize_post() skips the post_content when user_can_richedit
                
$field['value'] = htmlspecialchars$field['value'], ENT_QUOTES );
            }
            
// post_excerpt is already escaped by sanitize_post() in get_attachment_fields_to_edit()
            
$item .= "<textarea id='$name' name='$name$aria_required>" $field['value'] . '</textarea>';
        } else {
            
$item .= "<input type='text' class='text' id='$name' name='$name' value='" esc_attr$field['value'] ) . "' $aria_required />";
        }
        if ( !empty( 
$field['helps'] ) )
            
$item .= "<p class='help'>" join"</p>\n<p class='help'>"array_unique( (array) $field['helps'] ) ) . '</p>';
        
$item .= "</td>\n\t\t</tr>\n";

        
$extra_rows = array();

        if ( !empty( 
$field['errors'] ) )
            foreach ( 
array_unique( (array) $field['errors'] ) as $error )
                
$extra_rows['error'][] = $error;

        if ( !empty( 
$field['extra_rows'] ) )
            foreach ( 
$field['extra_rows'] as $class => $rows )
                foreach ( (array) 
$rows as $html )
                    
$extra_rows[$class][] = $html;

        foreach ( 
$extra_rows as $class => $rows )
            foreach ( 
$rows as $html )
                
$item .= "\t\t<tr><td></td><td class='$class'>$html</td></tr>\n";
    }

    if ( !empty( 
$form_fields['_final'] ) )
        
$item .= "\t\t<tr class='final'><td colspan='2'>{$form_fields['_final']}</td></tr>\n";
    
$item .= "\t</tbody>\n";
    
$item .= "\t</table>\n";

    foreach ( 
$hidden_fields as $name => $value )
        
$item .= "\t<input type='hidden' name='$name' id='$name' value='" esc_attr$value ) . "' />\n";

    if ( 
$post->post_parent && isset( $_REQUEST['post_id'] ) ) {
        
$parent = (int) $_REQUEST['post_id'];
        
$parent_name "attachments[$attachment_id][post_parent]";
        
$item .= "\t<input type='hidden' name='$parent_name' id='$parent_name' value='$parent' />\n";
    }

    return 
$item;
}
?>

Examples [ wp-snippets.com ]

Top Google zoekresultaten

Meer ...

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics