примерно так и запускать по крону
define('INST_USER_ID','xxxxxxxxxxxx');
define('INST_CLIENT_ID','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
$json = file_get_contents("https://api.instagram.com/v1/users/{INST_USER_ID}/media/recent/?client_id={NST_CLIENT_ID}");
$array = json_decode($json);
header('Content-Type: text/html; charset= utf-8');
$file = $_SERVER['DOCUMENT_ROOT']. 'instagram-log.txt';
$old = file_get_contents($file);
$old_array = explode('\n',$old);
foreach ($array->data as $one){
if ( in_array($one->images->standard_resolution->url, $old_array ) === false ) {
$fp = fopen($file, 'a+');
fwrite($fp, $one->images->standard_resolution->url.'\n');
fclose($fp);
$post_data = array(
'post_title' => $one->caption->text,
'post_content' => '',
'post_status' => 'draft',
'post_author' => 1,
'post_category' => array( 1,2,3,4,5,6 )
);
$post_id = wp_insert_post( $post_data );
$url = $one->images->standard_resolution->url;
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
$desc = "";
$file_array = array();
$tmp = download_url( $url );
preg_match('/[^\?]+\.(jpg|jpe|jpeg|gif|png)/i', $url, $matches );
$file_array['name'] = basename( $matches[0] );
$file_array['tmp_name'] = $tmp;
$id = media_handle_sideload( $file_array, $post_id, $desc );
if( is_wp_error( $id ) ) {
@unlink($file_array['tmp_name']);
return $id->get_error_messages();
}
@unlink( $file_array['tmp_name'] );
update_post_meta( $post_id, '_thumbnail_id', $id );
$image_attributes = wp_get_attachment_image_src( $id );
$my_post = array();
$my_post['ID'] = $id;
$my_post['post_content'] ='<img src="' . $image_attributes[0] . '" alt=""/>';
wp_update_post( $my_post );
wp_publish_post( $post_id );
}
}