attachment_fields_to_edit
Дозволяє додати довільне поле до зображення (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) - Об’єкт запису вкладення.
Приклади
#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 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); ?>