it-swarm.com.de

WordPress - Synchronisiert WordPress-Posts mit JSON-Feeds

Ich hoffe es geht euch allen gut.

Ich muss etwas fragen, ich habe versucht, danach zu suchen, konnte aber keine relevante Antwort erhalten. Ich habe einen JSON-Feed und möchte mit diesem Feed Beiträge erstellen und diese Beiträge synchronisieren/aktualisieren, wenn sich Änderungen an JSON-Feeds ergeben. Bitte leiten Sie mich in dieser Hinsicht.

Ich kann Posts mit JSON-Feeds erstellen, weiß aber nicht, wie Posts mit diesem JSON-Feed synchronisiert werden.

Was ich mit diesem Feed erreichen möchte, ist:
ein. Wenn der Beitrag in Wordpress DB nicht vorhanden ist, fügen Sie ihn hinzu
b. Wenn der Beitrag in Wordpress DB vorhanden ist, aktualisieren Sie ihn

Aktualisiert

Noch eine Frage, die ich stellen muss: Was passiert, wenn sich JSON ändert und das Element in WordPress-Posts in diesem aktualisierten JSON nicht verfügbar ist? Ich möchte auch alle Elemente löschen, die in Posts verfügbar sind, die zuvor in JSON verfügbar waren, aber nach JSON-Änderungen nicht dort.

Vielen Dank,
Neil Bannet

1
Neil Bannet

Der wichtige Schritt besteht darin, jedem Artikel, den Sie von der Quelle erhalten, eine eindeutige ID zuzuweisen. Hoffentlich enthält der JSON-Feed bereits einen, ansonsten müssen Sie einen auf der Grundlage des JSON-Inhalts selbst erstellen.

Sobald Sie den Wert haben, speichern Sie ihn als Metawert des Beitrags, der erstellt wird. Der Code sollte ungefähr so ​​aussehen

$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