web-dev-qa-db-ja.com

WordPress - ワードプレスの投稿をJSONフィードと同期する

みなさん、お元気ですか。

私は何かを尋ねる必要があります、私はこれを探してみましたが、適切な答えを得ることができませんでした。私はJSONフィードがあり、そのフィードを使用して投稿を作成し、JSONフィードが変更されるたびにそれらの投稿を同期または更新したいと考えています。これに関して私を導いてください。

JSONフィードで投稿を作成する方法はわかりますが、投稿をそのJSONフィードと同期させる方法はわかりません。

そのフィードを使って達成したいことは、次のとおりです。
a。投稿がWordpress DBに存在しない場合は追加します
b。投稿がWordpress DBに存在する場合はそれを更新します

更新済み

もう1つ質問があります。JSONが変更され、wordpress postの項目がその更新されたJSONで使用できない場合、簡単に言うと、以前JSONで使用できたがJSONの変更後にすべての項目を削除する必要があります。いない。

ありがとう、
ニール・バンネット

1
Neil Bannet

重要なステップは、あなたがソースから得たすべてのアイテムにユニークなIDを割り当てることです。うまくいけば、JSONフィードにはすでに1つ含まれていますが、それ以外の場合は、JSONコンテンツに基づいて自分で作成する必要があります。

値を取得したら、作成中の投稿のメタ値として保存します。コードは次のようになります。

$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