/** * Update existing post * @return true if success */ public static function wp_listings_update_post() { // Load IDX Broker API Class and retrieve featured properties $_idx_api = new \IDX\Idx_Api(); $properties = $_idx_api->client_properties('featured'); // Load WP options $idx_featured_listing_wp_options = get_option('wp_listings_idx_featured_listing_wp_options'); $wpl_options = get_option('plugin_wp_listings_settings'); foreach ($properties as $prop) { $key = self::get_key($properties, 'listingID', $prop['listingID']); if (isset($idx_featured_listing_wp_options[$prop['listingID']]['post_id']) && $idx_featured_listing_wp_options[$prop['listingID']]['listingID'] != $prop['listingID']) { self::wp_listings_idx_change_post_status($idx_featured_listing_wp_options[$prop['listingID']]['post_id'], 'draft'); } elseif (isset($idx_featured_listing_wp_options[$prop['listingID']]['post_id'])) { // Update property data if (class_exists('Equity_Idx_Api')) { require_once ABSPATH . 'wp-content/themes/equity/lib/idx/class.Equity_Idx_Api.inc.php'; $_equity_idx = new Equity_Idx_Api(); $equity_properties = $_equity_idx->equity_listing_ID($prop['idxID'], $prop['listingID']); if ($equity_properties == false) { $equity_properties = $properties[$key]; delete_transient('equity_listing_' . $prop['listingID']); } if (!isset($wpl_options['wp_listings_idx_update']) || isset($wpl_options['wp_listings_idx_update']) && $wpl_options['wp_listings_idx_update'] != 'update-none') { self::wp_listings_idx_insert_post_meta($idx_featured_listing_wp_options[$prop['listingID']]['post_id'], $equity_properties, true, $wpl_options['wp_listings_idx_update'] == 'update-noimage' ? false : true); } $idx_featured_listing_wp_options[$prop['listingID']]['updated'] = date("m/d/Y h:i:sa"); } else { if (!isset($wpl_options['wp_listings_idx_update']) || isset($wpl_options['wp_listings_idx_update']) && $wpl_options['wp_listings_idx_update'] != 'update-none') { self::wp_listings_idx_insert_post_meta($idx_featured_listing_wp_options[$prop['listingID']]['post_id'], $properties[$key], true, $wpl_options['wp_listings_idx_update'] == 'update-noimage' ? false : true); } $idx_featured_listing_wp_options[$prop['listingID']]['updated'] = date("m/d/Y h:i:sa"); } } } // Load and loop through Sold properties $sold_properties = $_idx_api->client_properties('soldpending'); foreach ($sold_properties as $prop) { $key = self::get_key($sold_properties, 'listingID', $prop['listingID']); if (isset($idx_featured_listing_wp_options[$prop['listingID']]['post_id'])) { // Update property data self::wp_listings_idx_insert_post_meta($idx_featured_listing_wp_options[$prop['listingID']]['post_id'], $sold_properties[$key], true, $wpl_options['wp_listings_idx_update'] == 'update-noimage' ? false : true); if (isset($wpl_options['wp_listings_idx_sold']) && $wpl_options['wp_listings_idx_sold'] == 'sold-draft') { // Change to draft self::wp_listings_idx_change_post_status($idx_featured_listing_wp_options[$prop['listingID']]['post_id'], 'draft'); } elseif (isset($wpl_options['wp_listings_idx_sold']) && $wpl_options['wp_listings_idx_sold'] == 'sold-delete') { // Delete featured image $post_featured_image_id = get_post_thumbnail_id($idx_featured_listing_wp_options[$prop['listingID']]['post_id']); wp_delete_attachment($post_featured_image_id); //Delete post wp_delete_post($idx_featured_listing_wp_options[$prop['listingID']]['post_id']); } } } update_option('wp_listings_idx_featured_listing_wp_options', $idx_featured_listing_wp_options); }