attachment_fields_to_edit хук-фільтрWP 2.5.0

Дозволяє додати довільне поле до зображення (html код поля на сторінці редагування вкладення).

Цей хук лише додає метаполі, але не зберігає його дані. Для збереження використовуйте хук attachment_fields_to_save .

Використання

add_filter( 'attachment_fields_to_edit', 'wp_kama_attachment_fields_to_edit_filter', 10, 2);

/**
 * Function for `attachment_fields_to_edit` filter-hook.
 *
 * @param array $form_fields На array of attachment form fields.
 * @param WP_Post $post The WP_Post на об'єкті об'єкта.
 *
 * @return array
 */
function wp_kama_attachment_fields_to_edit_filter( $form_fields, $post ){

	// Filter...
	return $form_fields;
}
$form_fields
(масив)
Дані полів форми вкладення.
$post
(WP_Post)
Об’єкт запису вкладення.

Приклади

0

#1 Додамо метаполі для зображення

// Додамо метаполі для зображення
add_filter( 'attachment_fields_to_edit', 'pon_attachment_fields_to_edit', null, 2);
function pon_attachment_fields_to_edit( $form_fields, $post ){

	$form_fields['carousel_price'] = array(
		'label' => 'Ціна (якщо потрібно)',
		'input' => '',
		'value' => get_post_meta( $post->ID, 'carousel_price', true )
	);

	return $form_fields;
}

// Зберігаємо дані метаполя
add_filter("attachment_fields_to_save", "pon_attachment_fields_to_save", null, 2);
function pon_attachment_fields_to_save($post, $attachment) {
	if( isset($attachment['carousel_price']) ){
		update_post_meta( $post['ID'], 'carousel_price', $attachment['carousel_price'] );
	}
	else
		delete_post_meta( $post['ID'], 'carousel_price' );

	return $post;
}

Отримаємо:

список змін

З версії 2.5.0Введено.

Де викликається хук

attachment_fields_to_edit

attachment_fields_to_edit

wp-admin/includes/media.php 1492

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

wp-admin/includes/media.php 1918

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

Де використовується хук у WordPress

wp-admin/includes/media.php 2877

<?php add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2); ?>

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *