Advertisements

get_attachment_fields_to_edit

Definition:
function get_attachment_fields_to_edit($post, $errors = null) {}

Parameters

  • unknown_type $post
  • unknown_type $errors

Defined filters

  • attachment_fields_to_edit
    apply_filters('attachment_fields_to_edit', $form_fields, $post)

Source code

function get_attachment_fields_to_edit($post, $errors = null) {

	if ( is_int($post) )

		$post =& get_post($post);

	if ( is_array($post) )

		$post = (object) $post;



	$image_url = wp_get_attachment_url($post->ID);



	$edit_post = sanitize_post($post, 'edit');







	$form_fields = array(

		'post_title'   => array(

			'label'      => __('Title'),

			'value'      => $edit_post->post_title

		),

		'image_alt'   => array(),

		'post_excerpt' => array(

			'label'      => __('Caption'),

			'value'      => $edit_post->post_excerpt

		),

		'post_content' => array(

			'label'      => __('Description'),

			'value'      => $edit_post->post_content,

			'input'      => 'textarea'

		),

		'url'          => array(

			'label'      => __('Link URL'),

			'input'      => 'html',

			'html'       => image_link_input_fields($post, get_option('image_default_link_type')),

			'helps'      => __('Enter a link URL or click above for presets.')

		),

		'menu_order'   => array(

			'label'      => __('Order'),

			'value'      => $edit_post->menu_order

		),

		'image_url'	=> array(

			'label'      => __('File URL'),

			'input'      => 'html',

			'html'       => "<input type='text' class='text urlfield' readonly='readonly' name='attachments[$post->ID][url]' value='" . esc_attr($image_url) . "' /><br />",

			'value'      => wp_get_attachment_url($post->ID),

			'helps'      => __('Location of the uploaded file.')

		)

	);



	foreach ( get_attachment_taxonomies($post) as $taxonomy ) {

		$t = (array) get_taxonomy($taxonomy);

		if ( ! $t['public'] )

			continue;

		if ( empty($t['label']) )

			$t['label'] = $taxonomy;

		if ( empty($t['args']) )

			$t['args'] = array();



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

		if ( empty($terms) )

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



		$values = array();



		foreach ( $terms as $term )

			$values[] = $term->name;

		$t['value'] = join(', ', $values);



		$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) $errors);



	$form_fields = apply_filters('attachment_fields_to_edit', $form_fields, $post);



	return $form_fields;

}

1152

Advertisements

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 )

Google+ photo

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

Twitter picture

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

Facebook photo

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

Connecting to %s

%d bloggers like this: