I'm developing a WordPress plugin, and I'm trying to add an additional file
field into the tag
section. Check the screenshot: https://prnt.sc/22vkf1o
I have successfully added the field, but I can't save it. Also, the image is not appearing in the Media.
Here is the code that I tried:
public function __construct() {
add_action( 'post_tag_add_form_fields', array( $this, 'eg360_add_tags' ) );
add_action( 'post_tag_edit_form_fields', array( $this, 'eg360_edit_term_tags' ), 10, 2 );
add_action( 'created_post_tag', array( $this, 'eg360_save_tags' ) );
add_action( 'edited_post_tag', array( $this, 'eg360_save_tags' ) );
}
// Adding the input file field to tag section
public function eg360_add_tags( $taxonomy ) {
?>
<div class="form-field">
<label for="eg360-featured-image"><?php _e( 'Featured image', EG360_TEXT_DOMAIN ) ?></label>
<input type="file" name="eg360_featured_image" id="eg360-featured-image"/>
<p><?php _e( 'Add featured image', EG360_TEXT_DOMAIN ) ?></p>
</div>
<?php
}
// Adding the input file field to the edit tag section
public function eg360_edit_term_tags( $term, $taxonomy ) {
?>
<tr class="form-field">
<th>
<label for="eg360-featured-image"><?php _e( 'Featured image', EG360_TEXT_DOMAIN ) ?></label>
</th>
<td>
<input name="eg360_featured_image" id="eg360-featured-image" type="file"/>
<p class="description"><?php _e( 'Add featured image', EG360_TEXT_DOMAIN ) ?></p>
</td>
</tr>
<?php
}
// Save the field
public function eg360_save_tags( $term_id ) {
update_term_meta(
$term_id,
'eg360_featured_image',
sanitize_text_field( $_POST['eg360_featured_image'] )
);
}
Also, this code above works for all other fields except the file
input field.
Any help will be appreciated.
wp.media()
.