J'ai un champ de terme créé avec les types plugin et attaché à la taxonomie "catégorie". Je dois obtenir ce champ dans le repos de l'API. Vous ne pouvez pas obtenir le termmeta dans les types plugin comme celui-ci
types_render_termmeta($slug_term, array("term_id" => $term_id));
Je ne sais pas comment obtenir l'id de la catégorie actuelle dans la fonction register_rest_field
.
register_rest_field( 'category', 'color', array(
'get_callback' => function() {
$term_id = "DONT KNOW HOW TO GET IT";
$color = types_render_termmeta('color-de-categoria', array("term_id" => $term_id));
return $color;
}
));
Merci d'avance.
La partie get_callback
est générée dans la méthode WP_REST_Controller::add_additional_fields_to_object()
avec:
$object[ $field_name ] = call_user_func(
$field_options['get_callback'],
$object,
$field_name,
$request,
$this->get_object_type()
);
Cela signifie que le rappel a quatre arguments d'entrée:
'get_callback' => function ( $object, $field_name, $request, $object_type ) {
// ...
}
et pour l'objetcategorydemandé, nous pouvons obtenir le terme id avec:
$term_id = $object['id'];