Cómo actualizar meta de taxonomía personalizada usando la función update_field() de ACF o cualquier otra función de WordPress

31 dic 2015, 10:27:29
Vistas: 13.9K
Votos: 1

Estoy intentando actualizar el valor meta de Advanced Custom Fields asociado a un término de taxonomía personalizada

$term_status = wp_update_term( $rate_id, 'rate', $term_data );

$term_id = $term_status['term_taxonomy_id'];

update_field( 'field_56829855eebc9', $rate_daily, $term_id );

Sin embargo, no logro que el campo se actualice. También he probado usando el nombre del campo en lugar de la clave del campo.

1
Comentarios

Las preguntas sobre plugins de terceros (como Advanced Custom Fields) se consideran fuera de tema aquí. ACF tiene su propio soporte.

Howdy_McGee Howdy_McGee
31 dic 2015 17:26:44
Todas las respuestas a la pregunta 3
3

Lo resolví de alguna manera...

Sintaxis de update_field():

update_field($field_key, $value, $post_id)

MI ERROR: Estaba usando el parámetro incorrecto para $post_id que pensé que era el Term Id del término de la taxonomía personalizada.

USO CORRECTO: en lugar de usar el id del término ($term_id en mi pregunta), se debe usar una cadena con la taxonomía antepuesta al $term_id

es decir $post_id = $taxonomy.'_'.$term_id

por ejemplo: si tu taxonomía personalizada es foo y el id del término es 123

entonces: $post_id = foo_123

Espero que esto sea útil para alguien.

Esta es la primera vez que pregunto/respondo una pregunta aquí.

31 dic 2015 11:23:20
Comentarios

¡Muchas gracias! Solo quería señalar un error tipográfico también. Olvidaste el guión bajo: es $term_name . '_' . $term_id

jgthms jgthms
6 abr 2018 15:41:14

nota: esto debería ser el nombre de la taxonomía seguido del ID del término

eballeste eballeste
21 jun 2019 02:21:26

@eballeste gracias por esto. Tenía el mismo problema, lo que me llevó a esta publicación, y me hiciste detenerme y revisar todas las partes de mi problema... solo para descubrir que había escrito incorrectamente el nombre de mi propia taxonomía personalizada.

whakawaehere whakawaehere
5 feb 2023 15:20:37
0

Esto fue lo único que funcionó para mí:

update_term_meta($term_id, $field['name'], $value);

En mi caso tengo una taxonomía "author" con un campo personalizado llamado "institution", así que hice:

$my_author_taxonomy = get_term_by( "name", $author_taxonomy_name, 'author' );   
update_term_meta($my_author_taxonomy->term_id, "institution", $Institution);

Espero que le sirva a alguien :)

1 jun 2017 15:01:52
0

Tuve éxito utilizando wp_set_object_terms, como sugirió el soporte oficial de ACF.

3 jun 2018 02:22:29