Loading ...

Visualizzare i campi personalizzati nelle API di Wordpress

Visualizzare i campi personalizzati nelle API di Wordpress

Nelle ultime versioni, Wordpress ha messo a disposizione le API senza dover installare componenti aggiuntivi.

Le sto usando parecchio per un progetto, ma avevo il problema di come reperire i campi personalizzati.

Questo perchè di default non sono visibili.

Usando un pò di PHP è possibile visualizzare anche quelli.

Aprite il file functions.php che si trova nel template usato, e inserite queste righe:

add_action('rest_api_init', 'create_api_posts_meta_field');

function create_api_posts_meta_field() {
    register_rest_field('post', 'post-meta-fields', array(
            'get_callback' => 'get_post_meta_for_api',
            'schema' => null,
        )
    );
}

function get_post_meta_for_api($object) {
    //get the id of the post object array
    $post_id = $object['id'];
    //return the post meta
    return get_post_meta($post_id);
}

A questo punto, nella risposta JSON delle vostre API, potete vedere anche il campo / array post-meta-fields.

Ricordatevi che se impostate un altro template di default, dovrete rimettere quelle righe.

Sennò potete farlo a livello globale, ma non è consigliato.

Enjoy!