<?php PLS_Listing_Helper::init(); class PLS_Listing_Helper { public static function init() { add_action('wp_ajax_pls_listings_for_options', array(__CLASS__, 'listings_for_options')); add_action('wp_ajax_pls_get_search_count', array(__CLASS__, 'get_search_count')); add_action('wp_ajax_nopriv_pls_get_search_count', array(__CLASS__, 'get_search_count')); // Set default property URL (can't call functions when declaring class variables) self::$default_listing['url'] = PLS_Plugin_API::get_property_url(); } public static function listings_for_options() { $api_response = PLS_Plugin_API::get_listings($_POST); $formatted_listings = ''; if ($api_response['listings']) { foreach ($api_response['listings'] as $listing) { if (!empty($listing['location']['unit'])) { $formatted_listings .= '<option value="' . $listing['id'] . '" >' . $listing['location']['address'] . ', #' . $listing['location']['unit'] . ', ' . $listing['location']['locality'] . ', ' . $listing['location']['region'] . '</option>'; } else { $formatted_listings .= '<option value="' . $listing['id'] . '" >' . $listing['location']['address'] . ', ' . $listing['location']['locality'] . ', ' . $listing['location']['region'] . '</option>'; } } } else { $formatted_listings .= "No Results. Broaden your search."; } echo json_encode($formatted_listings); die; }