web-dev-qa-db-fra.com

Appel de l'API de plugins dans un thème

Je vais essayer de rester aussi bref et simple que possible.

Mon site Web utilise des listes (au lieu de publications) car j'ai un thème de page de répertoire (MyListing - this celui ). Je passe en revue les restaurants et ajoute des critiques à l'aide du plug-in "Let's Review" ( la documentation de l'API est ici ). Lorsque je passe en revue une liste, le plug-in ajoute une boîte de révision dans la liste, indiquant les avantages et les inconvénients, ainsi que le score final. Cela ressemble à quelque chose comme ça:

 enter image description here 

Ce que je voudrais, c’est d’obtenir cette note finale (7,8 dans ce cas) sous forme brute, sans dessin, et de la placer dans le modèle de liste situé en haut du contenu (je le mettrai dans le modèle de liste, car chaque liste aura un revue et cette case). Je n'ai pas besoin d'aide pour l'ajouter dans le modèle de liste, je le ferai moi-même une fois que je saurai comment appeler ce code API.

Le thème "Passons en revue" prend en charge les API et j'ai trouvé la partie de code qui (je pense) devrait me convenir:

if ( class_exists( 'Lets_Review_API' ) ) {
    $lets_review_api = new Lets_Review_API();
    $lets_review_final_score = $lets_review_api->lets_review_get_final_score( $postid );
}

Si j'appuie correctement, cet extrait appelle l'ID de l'article et affiche le résultat final sous forme brute. C'est ce que je veux! Mais voici le problème. Si j'ai bien compris la partie "Assurez-vous que vous l'appelez de l'intérieur de la boucle de publication de WordPress", cela signifie que je dois ajouter ce code au functions.php du thème. Mais tout le reste me dépasse. Je ne sais pas comment appeler ce résultat final sous forme brute dans mon modèle d'annonce? La documentation indique également "Vous devez transmettre un identifiant de publication valide à la méthode pour obtenir les données correctes", mais je ne sais pas comment.

Ai-je fait la bonne chose pour ajouter ce code à functions.php? Et quel code ajouter à mon modèle d'annonce (listing.php) afin que, comme je le pressume, récupère l'ID de l'article et affiche le score brut de cet avis.

Toute aide (ou me prendre dans la bonne direction) est appréciée.

2
Haris Mustajbasic

Bon sang, j'ai même compris et ça marche.

Donc, j'ai ajouté ceci directement dans mon modèle d'annonce, rien n'a été ajouté dans functions.php, ni aucun autre fichier n'a été modifié. J'ai d'abord appelé la variable $ post. Dans la documentation Wordpress, il est indiqué qu'il "contient les données de la publication actuelle dans The Loop". J'ai pensé que cela fonctionnerait car le code devait être dans la boucle et l'ajouté en haut.

Comme indiqué dans la documentation "Vous devez transmettre un identifiant de publication valide à la méthode pour obtenir les données correctes". Par conséquent, la chaîne $ id, qui obtient l'ID de publication Wordpress.

La deuxième partie, de if ( class... à la dernière partie, $id );, provient de la documentation de l'API du plug-in et appelle uniquement le score final de la révision, sans aucune conception.

Mais bon, cela n'a pas encore montré la critique. J'ai entendu une fois "echo" faire des miracles, comme il appelle la fonction et il le montre. Alors j'ai dit - pourquoi pas? Par la documentation Wordpress echo outputs one or more strings.

Et voila - ça marche. J'ai appris beaucoup de nouvelles choses en combinant différentes sources et il m'a fallu 3 jours pour tout comprendre. Maintenant, c’est génial, je sais comment sortir ceci sans jouer avec beaucoup de fichiers et - c’est simple.

J'espère que ça aide quelqu'un comme ça m'a été fait :)

<?php
$post = $wp_query->post;
$id = get_the_ID();
if ( class_exists( 'Lets_Review_API' ) ) {
$lets_review_api = new Lets_Review_API();
$lets_review_final_score = $lets_review_api->lets_review_get_final_score( $id );
echo $lets_review_final_score;
}
?>
1
Haris Mustajbasic