Come aggiornare i metadati di una tassonomia personalizzata usando la funzione update_field() di ACF o altre funzioni di WordPress

31 dic 2015, 10:27:29
Visualizzazioni: 13.9K
Voti: 1

Sto cercando di aggiornare il valore del campo personalizzato di Advanced Custom Fields associato a un termine di una tassonomia personalizzata

$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 );

Tuttavia, non riesco ad aggiornare il campo. Ho provato anche con il nome del campo invece della chiave del campo.

1
Commenti

Le domande relative ai plugin di terze parti (come Advanced Custom Fields) sono considerate fuori tema qui. ACF ha il proprio supporto.

Howdy_McGee Howdy_McGee
31 dic 2015 17:26:44
Tutte le risposte alla domanda 3
3

Alla fine ho risolto in qualche modo..

Sintassi di update_field():

update_field($field_key, $value, $post_id)

IL MIO ERRORE: Stavo usando il parametro sbagliato per $post_id, pensando che fosse l'ID del termine della tassonomia personalizzata.

UTILIZZO CORRETTO: invece di usare l'ID del termine ($term_id nella mia domanda), bisogna usare una stringa con la tassonomia anteposta all'$term_id

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

Ad esempio: se la tua tassonomia personalizzata è foo e l'ID del termine è 123

allora: $post_id = foo_123

Spero che questo possa essere utile a qualcuno.

Questa è la prima volta che faccio una domanda/risposta qui.

31 dic 2015 11:23:20
Commenti

Grazie mille! Volevo solo segnalare un refuso. Hai dimenticato l'underscore: è $term_name . '_' . $term_id

jgthms jgthms
6 apr 2018 15:41:14

nota: questo dovrebbe essere il nome della tassonomia seguito dall'id del termine

eballeste eballeste
21 giu 2019 02:21:26

@eballeste grazie per questo. Avevo lo stesso problema, che mi ha portato a questo post, e mi hai fatto rallentare e rivedere tutti gli aspetti del mio problema... solo per scoprire che avevo scritto male il nome della mia tassonomia personalizzata.

whakawaehere whakawaehere
5 feb 2023 15:20:37
0

Solo questo ha funzionato per me:

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

Nel mio caso ho una tassonomia "author" con un campo personalizzato chiamato "institution", quindi ho fatto:

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

Spero possa aiutare qualcuno :)

1 giu 2017 15:01:52
0

Ho avuto successo utilizzando wp_set_object_terms, come suggerito dal supporto ufficiale di ACF.

3 giu 2018 02:22:29