web-dev-qa-db-fra.com

WordPress - Synchroniser un message wordpress avec un flux JSON

J'espère que vous allez tous bien.

J'ai besoin de demander quelque chose, j'ai essayé de chercher cela, mais incapable d'obtenir une réponse pertinente. J'ai un flux JSON et, à l'aide de ce flux, je souhaite créer des publications et les synchroniser/mettre à jour à chaque publication lorsque les flux JSON changent. S'il vous plaît, guidez-moi à cet égard.

Je sais comment créer des publications avec un flux JSON, mais je ne sais pas comment synchroniser les publications avec ce flux JSON.

Ce que je veux réaliser en utilisant ce flux est:
une. Si l'article n'existe pas dans Wordpress DB, ajoutez-le
b. Si post existe dans Wordpress DB, mettez-le à jour

Mis à jour

Encore une question que je dois demander, que se passe-t-il si JSON change et si l'élément dans le post wordpress n'est pas disponible dans ce JSON mis à jour, en termes simples pas ici.

Merci,
Neil Bannet

1
Neil Bannet

L’étape importante consiste à attribuer un identifiant unique à chaque élément fourni par la source. J'espère que le flux JSON en contient déjà un, mais sinon vous devrez en créer un vous-même en vous basant sur le contenu JSON.

Une fois que vous avez la valeur, vous la stockez en tant que méta-valeur de la publication en cours de création. Le code devrait ressembler à quelque chose comme ça

$json = get_json_item();
$uuid = get_json_uuid($json);
// check if exist based on the json_uuid meta
$t = get_posts(array('meta_key' => 'json_uuid', 'meta_value' => $uuid));
if (count($t) == 0) { // create new post
  $pid = wp_insert_post(values extracted from $json);
  update_post_meta($pid,'json_uuid',$uuid);
} else { // post exist
  wp_insert_post(array('ID' => $p[0]->ID,values extracted from $json));
}
2
Mark Kaplun