I tried:

                wp_update_term($personid, 'category', array(
                  'name' => $_POST['nameChange'],
                  'slug' => $string,
                  '_city' => $_POST['newDob'],

Where _city is my category custom field.

This is how I retrieve it:

$fields =  get_term_meta( $cat->cat_ID ); 
$newDob = $fields['_city'][0];

But I am not sure how to I can change it on front end, these two are working and updating

'name' => $_POST['nameChange'],
'slug' => $string,

But not '

'_city' => $_POST['newDob'],

I followed the docs

2 Answers 2


wp_update_term does not support custom fields so you will need to use update_term_meta instead.

update_term_meta($personid, '_dob', $_POST['newDob']);
  • 1
    ah, too late ;)
    – am_
    Dec 19, 2018 at 13:48

Not sure about where your custom field is coming from, but usually it should be stored in the term_meta database table.

You´d have to use update_term_meta:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.