Skip to content

Instantly share code, notes, and snippets.

@nathanaelphilip
Last active December 6, 2022 17:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nathanaelphilip/1063641c3a8c8d84530d to your computer and use it in GitHub Desktop.
Save nathanaelphilip/1063641c3a8c8d84530d to your computer and use it in GitHub Desktop.
# phrets_hourly is the WP_CRON hook
add_action('phrets_hourly', 'run_listings_update' );
function run_listings_update(){
$fetch = new Fetcher();
$fetch->fetch();
}
# This is the code inside the $fetch object that is run.
public function fetch(){
$options['class'] = 'RES';
$options['limit'] = 10;
$options['offset'] = 0;
$options['silent'] = true;
$data = $this->query($options);
foreach ($data as $datum) {
$this->place($datum,true);
}
}
public function place($data,$silent){
$rets = $this->connect_to_rets();
$listing = new Listing($data);
// check to see if listing already exists
$post_id = $listing->check_listing_exists($data['MST_MLS_NUMBER']);
if (!$post_id) {
$action = $listing->put();
}else{
$action = $listing->update($post_id);
}
}
# this is the method called from the $listing object that puts the data into the DB
public function put(){
$title = $this->create_title($this->data);
// setup the 'post' data
$post = array(
'post_type' => 'listing',
'post_title' => $title,
'post_content' => $this->data['Remarks'],
'post_status' => 'publish'
);
// add new meta data
if (!is_wp_error($post_id)) {
$this->add_meta_data($post_id);
$this->assign_community($post_id,$data);
}
// set the action
$action = 'inserted';
return $action;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment