get_compat_media_markup() –

You appear to be a bot. Output may be restricted

Description

Usage

$array = get_compat_media_markup( $attachment_id, $args );

Parameters

$attachment_id
( int ) required
$args
( array ) optional

Returns

array

Source

File name: wordpress/wp-admin/includes/media.php
Lines:

1 to 100 of 190
function get_compat_media_markup( $attachment_id, $args = null ) {
  $post = get_post( $attachment_id );

  $default_args = array(
    'errors'   => null,
    'in_modal' => false,
  );

  $user_can_edit = current_user_can( 'edit_post', $attachment_id );

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

  
/** This filter is documented in wp-admin/includes/media.php */
  $args = apply_filters( 'get_media_item_args', $args );

  $form_fields = array();

  if ( $args['in_modal'] ) {
    foreach ( get_attachment_taxonomies( $post ) as $taxonomy ) {
      $t = (array) get_taxonomy( $taxonomy );

      if ( ! $t['public'] || ! $t['show_ui'] ) {
        continue;
      }

      if ( empty( $t['label'] ) ) {
        $t['label'] = $taxonomy;
      }

      if ( empty( $t['args'] ) ) {
        $t['args'] = array();
      }

      $terms = get_object_term_cache( $post->ID, $taxonomy );

      if ( false === $terms ) {
        $terms = wp_get_object_terms( $post->ID, $taxonomy, $t['args'] );
      }

      $values = array();

      foreach ( $terms as $term ) {
        $values[] = $term->slug;
      }

      $t['value']    = implode( ', ', $values );
      $t['taxonomy'] = true;

      $form_fields[ $taxonomy ] = $t;
    }
  }

  /*
	 * Merge default fields with their errors, so any key passed with the error
	 * (e.g. 'error', 'helps', 'value') will replace the default.
	 * The recursive merge is easily traversed with array casting:
	 * foreach ( (array) $things as $thing )
	 */
  $form_fields = array_merge_recursive( $form_fields, (array) $args['errors'] );

  
/** This filter is documented in wp-admin/includes/media.php */
  $form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post );

  unset(
    $form_fields['image-size'],
    $form_fields['align'],
    $form_fields['image_alt'],
    $form_fields['post_title'],
    $form_fields['post_excerpt'],
    $form_fields['post_content'],
    $form_fields['url'],
    $form_fields['menu_order'],
    $form_fields['image_url']
  );

  
/** This filter is documented in wp-admin/includes/media.php */
  $media_meta = apply_filters( 'media_meta', '', $post );

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

  $hidden_fields = array();

  $item = '';

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

    $name    = "attachments[$attachment_id][$id]";
    $id_attr = "attachments-$attachment_id-$id";

    if ( ! empty( $field['tr'] ) ) {
 

 View on GitHub View on Trac