How to add taxonomy images in WordPress without Plugin?

Step1: Add the Image Field

add_action( 'category_add_form_fields', 'add_category_image', 10, 2 );
function add_category_image ( $taxonomy ) {
?>


Step2: Save the Image Field

add_action( 'created_category', 'save_category_image', 10, 2 );
function save_category_image ( $term_id, $tt_id ) {
if( isset( $_POST['image_id'] ) && '' !== $_POST['image_id'] ){
$image = $_POST['image_id'];
add_term_meta( $term_id, 'category_image_id', $image, true );
}
}

 

Step3: Add the Image Field in the Edit Form

add_action( 'category_edit_form_fields', 'update_category_image', 10, 2 );
function update_category_image ( $term, $taxonomy ) { ?>





 }

 

Step4: Update the Image Field

add_action( 'edited_category', 'updated_category_image', 10, 2 );
function updated_category_image ( $term_id, $tt_id ) {
if( isset( $_POST['image_id'] ) && '' !== $_POST['image_id'] ){
$image = $_POST['image_id'];
update_term_meta ( $term_id, 'image_id', $image );
} else {
update_term_meta ( $term_id, 'image_id', '' );
}
}

 

Step5: Enqueue Media Library

add_action( 'admin_enqueue_scripts', 'load_media' );
function load_media() {
wp_enqueue_media();
}

Step6: Display the Image in Column

add_filter( 'manage_edit-category_columns', 'display_image_column_heading' );
function display_image_column_heading( $columns ) {
$columns['category_image'] = __( 'Image' );
return $columns;
}

Step7: Display the Image on Frontend

$image_id = get_term_meta ( $term_id, 'image_id', true );
echo wp_get_attachment_image ( $image_id, 'full' );

Leave a Reply

Your email address will not be published. Required fields are marked *