Stworzyłem wtyczkę , która umożliwia stworzenie customowych postów z metaboxami i zaimoportowanie do nich danych z pliku JSON.
$developer_data = json_decode( file_get_contents( $json_url ) );
if ( ! $developer_data)
return false;
foreach ($developer_data as $key => $value) {
$my_post = array(
'post_type' => 'developer',
'post_title' => $value->first_name ,
'post_status' => 'publish',
'meta_input' => array(
'sn_first_name' => $value->first_name ,
'sn_last_name' => $value->last_name ,
'sn_email' => $value->email ,
'sn_gender' => $value->gender ,
'sn_ip_address' => $value->ip_address ,
)
);
wp_insert_post($my_post);
} //end loop
dane są poprawnie importowane do customowych postów , ale mam pewien problem. Mianowicie po kolejnym kliknięciu w przycisk importu (odpala ajax'a) posty sa tworzone na nowo - duplikowane , a tego jak nie chcę .
Chcę natomiast ,żeby posty istniejące były aktualizowane . Próbowałem na różne sposoby , m.in
$title_exists = get_page_by_title( tytul_posta, OBJECT, 'developer');
ale nie moge sobie poradzić .
Kombinowałem też z wp_update_post() ale z tego co wiem ( tyle że nie wiem , czy dobrze wiem) jeśli post istnieje to funkcja wp_insert_post() winna go zaktualizować . Tylko jak zidentyfikować istniejącego posta i wykluczyć go z pęlti wstawiajacej ?
Będę wdzięczny za wszelkie pomysły rozwiązania problemu