Cum să actualizezi meta pentru o taxonomie personalizată folosind funcția ACF update_field() sau orice altă funcție WordPress

31 dec. 2015, 10:27:29
Vizualizări: 13.9K
Voturi: 1

Încerc să actualizez valoarea meta din Advanced Custom Fields asociată cu un termen dintr-o taxonomie personalizată

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

Totuși, nu reușesc să actualizez câmpul. Am încercat și cu numele câmpului în loc de cheia câmpului.

1
Comentarii

Întrebările referitoare la modulele terțe (cum ar fi Advanced Custom Fields) sunt considerate off-topic aici. ACF are propriul lor suport.

Howdy_McGee Howdy_McGee
31 dec. 2015 17:26:44
Toate răspunsurile la întrebare 3
3

Am reușit să îmi dau seama cumva..

Sintaxa funcției update_field():

update_field($field_key, $value, $post_id)

GREȘEALA MEA: Am folosit parametrul greșit pentru $post_id, crezând că este Term Id-ul termenului din taxonomia personalizată.

UTILIZARE CORECTĂ: în loc să folosești term id ($term_id din întrebarea mea), trebuie să folosești un șir de caractere cu taxonomia adăugată înaintea lui $term_id

adică $post_id = $taxonomy.'_'.$term_id

de exemplu: dacă taxonomia ta personalizată este foo și term id-ul este 123

atunci: $post_id = foo_123

Sper că această informație va fi utilă cuiva.

Aceasta este prima dată când pun/răspund la o întrebare aici.

31 dec. 2015 11:23:20
Comentarii

Mulțumesc mult! Vreau să subliniez și o greșeală de tipar. Ai uitat underscore-ul: este $term_name . '_' . $term_id

jgthms jgthms
6 apr. 2018 15:41:14

notă: acesta ar trebui să fie numele taxonomiei urmat de id-ul termenului

eballeste eballeste
21 iun. 2019 02:21:26

@eballeste mulțumesc pentru asta. Aveam aceeași problemă, ceea ce m-a adus pe acest post, și m-ai făcut să încetinesc și să revizuiesc toate elementele problemei mele... doar pentru a descoperi că am scris greșit numele propriei mele taxonomii personalizate.

whakawaehere whakawaehere
5 feb. 2023 15:20:37
0

Doar aceasta soluție a funcționat pentru mine:

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

În cazul meu, am o taxonomie "autor" cu un câmp personalizat numit "instituție", așa că am făcut:

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

Sper să ajute pe cineva :)

1 iun. 2017 15:01:52
0

Am avut succes folosind wp_set_object_terms, așa cum a sugerat suportul oficial ACF.

3 iun. 2018 02:22:29