Tout savoir sur WordPress

Tuto WP API Rest : Envoyer les custom posts fields avec l’article via l’API

Par défaut, l’API REST WordPress ne renvoie que les éléments par défaut de l’article : titre, auteur, date, contenu… Les champs additionnels ne sont pas renvoyés par défaut, mais vous pourrez changer ça à l’aide d’un hook

Ce hook vous permet de choisir les champs personnalisés (custom fields) à envoyer avec les réponses de l’API

[pastacode lang=”php” message=”” highlight=”” provider=”manual”]

// Add custom fields to json response
function slug_register_featured() {
    register_api_field( 'post',
        'featured',
        array(
            'get_callback'    => 'get_meta_to_response',
            'update_callback' => null,
            'schema'          => null,
        )
    );
}
add_action( 'rest_api_init', 'slug_register_featured' );

function get_meta_to_response( $object, $field_name, $request ) {
    return get_post_meta( $object[ 'id' ], $field_name, true );
}

[/pastacode]

La première fonction déclare un nouveau champ pour l’API, et la deuxième, appelée via le array callback, permet d’aller chercher la donnée que vous souhaitez. Ca peut être un custom field mais également autre chose (un article croisé par exemple). Bref, vous êtes très libre et vous pouvez donc envoyer des réponses plus complètes.

Ca marche avec ACF ?

Oui ! Puisque ACF stocke simplement les valeurs dans des custom fields natifs, du coup aucun problème de ce côté là, ça marchera de la même manière ! Super !

Il y a aussi un plugin qui permet d’exposer par défaut tous les champs ACF dans la réponse : https://wordpress.org/plugins/acf-to-wp-api/ (merci à @semoskw pour l’info)

Cet article a été mis à jour il y a 3228 jours - Il n'est peut être plus à jour !

Article écrit par Maxime BJ

Développeur, bloggeur et formateur Web spécialisé WordPress. 36 ans. Grenoblois. Co-fondateur de WPChef, l’organisme de formation WordPress.

Co-fondateur de WPChef, la formation WordPress pour les débutants. Vous pouvez me rencontrer lors d’événements tels que les WordCamp. Traducteur Français de l’extension Advanced Custom Fields. Je m’occupe un site pour apprendre l’informatique aux débutants gratuitement.

1 Commentaire

  1. Nous aprecions beaucoup ce que vous faites.
    Nous tirons beaucoup des experiences que
    vous parteagez avec nous.