attachment_fields_to_save хук-фильтр . WP 2.5.0
Сохраняет произвольное поле добавленное к изображению (вложению) с помощью хука attachment_fields_to_edit.
Срабатывает автосохранение при загрузке изображения например в записях (проверить, потому что не выводится надпись "Сохраняем...")
Использование
add_filter( 'attachment_fields_to_save', 'filter_function_name_2051', 10, 2 ); function filter_function_name_2051( $post, $attachment ){ // filter... return $post; }
- $post(массив)
- Массив данных вложения (записи).
- $attachment(массив)
- Массив мета-данных вложения (записи).
Примеры
#1 Сохраняем данные метаполя
Допустим мы добавили метаполе carousel_price
(см. хук attachment_fields_to_edit()).
// Добавим метаполе для изображения 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_save
attachment_fields_to_save
attachment_fields_to_save
wp-admin/includes/media.php 765
$post = apply_filters( 'attachment_fields_to_save', $post, $attachment );
wp-admin/includes/ajax-actions.php 3091
$post = apply_filters( 'attachment_fields_to_save', $post, $attachment_data );
wp-admin/includes/post.php 389
$translated = apply_filters( 'attachment_fields_to_save', $translated, $attachment_data );
Где используется хук (в ядре WP)
wp-admin/includes/admin-filters.php 33
add_filter( 'attachment_fields_to_save', 'image_attachment_fields_to_save', 10, 2 );
