Un utilisateur a demandé 👇

Je crĂ©e des points de terminaison personnalisĂ©s pour mes modules de type de publication personnalisĂ©s afin de supprimer les champs inutiles et de les appliquer plus rapidement. Je souhaite obtenir une URL d’image Ă  partir de mon type de publication personnalisĂ©. Voir le code pour plus d’informations. Je ne trouve pas le champ Image. Je ce lien, c’est ce que j’obtiens dans un appel relax API par dĂ©faut et c’est ce dont j’ai besoin dans mon point de terminaison personnalisĂ© ** (top_image url image) **. VĂ©rifiez la mĂ©thode que j’utilise et obtenez des donnĂ©es nulles. OĂą est-ce que je fais mal? le champ ad_1 que vous voyez dans un lien provient d’un autre champ de relation de type de publication personnalisĂ© vers ce type de publication personnalisĂ©. Je souhaite afficher des annonces sur tous mes messages d’un type de publication typique, j’ai donc crĂ©Ă© une annonce de type de publication personnalisĂ©e et un conseil nommĂ© et j’utilise un champ de relation sur des Ă©vĂ©nements de type de publication normaux pour recevoir des notifications d’un type de publication personnalisĂ©, donc je peut facilement basculer toutes les annonces entre les publications Ă  la fois en modifiant le type de publication advt. Je peux obtenir ce dont j’ai besoin en tant qu’appel d’API par dĂ©faut pour les Ă©vĂ©nements de type de travail. Mais je ne reçois pas d’URL d’image dans mon terminal d’API relax personnalisĂ©. S’il te plait, aide-moi.

Voici mon code API REST :

function digital_digievent() {
$args = [
    'numberposts' => 99999,
    'post_type' => 'digievent'
];

$posts = get_posts($args);

$data = [];
$i = 0;

foreach($posts as $post) {
    $data[$i]['id'] = $post->ID;
    $data[$i]['EventTitle'] = $post->post_title;
    $data[$i]['EventOrganizeBy'] = $post->organize_by;
    $data[$i]['EventPlace'] = $post->event_place;
    $data[$i]['EventDate'] = $post->event_date;
    $data[$i]['EventTime'] = $post->event_time;
    $data[$i]['EventContent'] = apply_filters( 'the_content', $post->post_content );
    $data[$i]['EventExcerpt'] = $post->post_excerpt;
    $data[$i]['Slug'] = $post->post_name;
    $data[$i]['EventLink'] = get_the_permalink($post->ID);
    $data[$i]['EventDate'] = $post->post_date;
    $data[$i]['EventGuid'] = $post->guid;
    $data[$i]['EventFeaturedImage']['thumbnail'] = get_the_post_thumbnail_url($post->ID, 'thumbnail');
    $data[$i]['EventFeaturedImage']['medium'] = get_the_post_thumbnail_url($post->ID, 'medium');
    $data[$i]['EventFeaturedImage']['large'] = get_the_post_thumbnail_url($post->ID, 'large');
    $data[$i]['top_image'] = $post->ad_1[0]['top_image']['guid'];

    $i++;
}

return $data;

}

add_action('rest_api_init', function() { register_rest_route('myrestapi/v1', 'digievent', [ 'methods' => 'GET', 'callback' => 'digital_digievent', ]);

});

Besoin d’aide sur cette ligne 🙂
$data[$i]['top_image'] = $post->ad_1[0]['top_image']['guid'];

Aussi bon que cela, consultez ce lien oĂą je travaille en utilisant ce code:
$data[$i]['top_image'] = $post->ad_1;
vous voyez que je reçois des champs ad_1.

Ce dont j’ai besoin, c’est de l’URL de l’image (guide) des champs top_image et bottom_image pour ad_1. et la raison pour laquelle je crĂ©e un point d’API relax personnalisĂ© est de rĂ©duire le fardeau des champs inutiles.

Ce sujet a été modifié pour la dernière fois il y a 8 mois par.


(@jimtrue)

il y a 7 mois, 1 semaine

Nous ne sommes pas le processus de support pour l’API WP REST car ils ont un grand groupe fournissant un support pour les points de terminaison personnalisĂ©s, etc. Activez simplement l’API REST et laissez-la s’exĂ©cuter.

Si vous avez rencontré des problèmes avec la gestion de notre API REST, veuillez le signaler via notre processus de bogue.

Un rapport de bogue à : https://github.com/pods-framework/pods/issues/new. Veuillez entrer toutes les captures d’Ă©cran pertinentes, votre processus sur la façon dont vous avez rencontrĂ© le bogue/problème et tout code pertinent. Merci!

Cela a-t-il résolu votre problème ?

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *