web-dev-qa-db-fra.com

Obtenir l'ID de la taxonomie actuelle dans register_rest_field

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.

1
Luis Ariel Toledo

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'];
0
birgire