[wp-trac] [WordPress Trac] #40909: Focus in attachment custom fields is lost when updating the value.
WordPress Trac
noreply at wordpress.org
Sun Feb 5 20:38:53 UTC 2023
#40909: Focus in attachment custom fields is lost when updating the value.
-------------------------------------+-------------------------------------
Reporter: lucymtc | Owner: joedolson
Type: defect (bug) | Status: accepted
Priority: normal | Milestone: 6.2
Component: Media | Version: 4.7.5
Severity: normal | Resolution:
Keywords: dev-feedback has-patch | Focuses: accessibility,
2nd-opinion | javascript
-------------------------------------+-------------------------------------
Comment (by joedolson):
PHP snippet to add custom fields for testing:
{{{
add_filter( 'attachment_fields_to_edit', 'test_fields_40909', 10, 2 );
function test_fields_40909( $form_fields, $post ) {
$field_1 = get_post_meta( $post->ID, 'field_1',
true );
$form_fields['field_1'] = array(
'label' => __( 'Field 1' ),
'input' => 'text',
'value' => $field_1,
);
$field_2 = get_post_meta( $post->ID, 'field_2',
true );
$form_fields['field_2'] = array(
'label' => __( 'Field 2' ),
'input' => 'text',
'value' => $field_2,
);
return $form_fields;
}
add_filter( 'attachment_fields_to_save', 'test_save_fields_40909', 10, 2
);
function test_save_fields_40909( $post, $attachment ) {
if ( isset( $attachment['field_1'] ) ) {
update_post_meta( $post['ID'], 'field_1',
sanitize_text_field( $attachment['field_1'] ) );
} else {
delete_post_meta( $post['ID'], 'field_1' );
}
if ( isset( $attachment['field_2'] ) ) {
update_post_meta( $post['ID'], 'field_2',
sanitize_text_field( $attachment['field_2'] ) );
} else {
delete_post_meta( $post['ID'], 'field_2' );
}
return $post;
}
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/40909#comment:13>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list