attachment_fields_to_edit хук-фильтр . WP 2.5.0
Позволяет добавить произвольное поле к изображению (html код поля на странице редактирования вложения).
Этот хук только добавляет метаполе, но не сохраняет его данные. Для сохранения используйте хук attachment_fields_to_save.
Использование
add_filter( 'attachment_fields_to_edit', 'filter_function_name_5295', 10, 2 ); function filter_function_name_5295( $form_fields, $post ){ // filter... return $form_fields; }
- $form_fields(массив)
- Данные полей формы вложения.
- $post(WP_Post)
- Объект записи вложения.
Примеры
#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
wp-admin/includes/media.php 1497
$form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post );
wp-admin/includes/media.php 1923
$form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post );
Где используется хук в ядре WordPress
wp-admin/async-upload.php 67
add_filter( 'attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2 );
wp-admin/async-upload.php 77
add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 );
wp-admin/includes/media.php 2349
add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 );
wp-admin/includes/media.php 2573
<?php add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 ); ?>
wp-admin/includes/media.php 2879
<?php add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 ); ?>
wp-admin/media.php 76
add_filter( 'attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2 );