show_in_rest

Définition : show_in_rest est un paramètre WordPress utilisé notamment lors de la déclaration de métadonnées. Il indique si une valeur peut être représentée ou manipulée par l’API REST selon son schéma.

Terminologie

Terme officiel : show_in_rest

Autres appellations : Exposition REST des métadonnées

À quoi cela sert

Il permet aux fonctionnalités comme l’éditeur de blocs ou des applications autorisées d’accéder aux champs personnalisés par les points d’accès WordPress, lorsque leur configuration l’autorise.

Comment cela fonctionne

Dans les arguments de register_post_meta(), true active une exposition basée sur le type et le schéma enregistrés. Les requêtes REST restent soumises à leurs règles de visibilité et d’autorisation ; l’enregistrement seul ne remplace pas leur contrôle.

Dans quel contexte l’utiliser

À prévoir pour un champ devant être éditable dans Gutenberg ou accessible à un client externe, après évaluation de sa confidentialité.

Exemple concret

Un champ « Niveau de difficulté » doit être lisible par un outil de présentation des fiches techniques.

Exemple de code commenté

Extrait pédagogique PHP pour extension WordPress : adapter au contexte et tester sur un environnement de développement avant tout usage.

<?php
add_action( 'init', function () {
    register_post_meta( 'post', 'atoolpha_niveau', array(
        'single'       => true,
        'type'         => 'string',
        'show_in_rest' => array(
            'schema' => array( 'type' => 'string' ),
        ),
        'sanitize_callback' => 'sanitize_text_field',
    ) );
} );

Explication pas à pas de l’exemple

1. Le champ est déclaré comme chaîne unique. 2. show_in_rest fournit un schéma. 3. WordPress peut ensuite inclure la valeur dans les contextes REST permis. 4. La sauvegarde demeure soumise aux permissions.

Résultat attendu

Le champ est représentable par l’API REST des publications selon les conditions du point d’accès et du contexte de consultation.

Mise en pratique guidée

Dans un site de développement, déclarer un champ de contenu public non sensible avec show_in_rest. Interroger l’endpoint REST du post en contexte adapté, puis vérifier les différences entre lecture anonyme, lecture authentifiée et tentative d’écriture. Pour un type personnalisé, contrôler aussi la prise en charge de custom-fields et les permissions de l’endpoint.

Précautions et limites

Ne jamais exposer de secrets avec show_in_rest. Pour un type de contenu personnalisé, activer également le support custom-fields si nécessaire et vérifier les règles de capacité.

À ne pas confondre

Une propriété exposée en REST n’est pas automatiquement accessible anonymement en écriture ni forcément affichée dans un champ visuel.

Termes associés

  • register_post_meta()
  • REST API
  • current_user_can()

Références officielles

Bouton retour en haut de la page