Skip to content

Instantly share code, notes, and snippets.

@propertyhive
propertyhive / gist:d82bdf69981e4d44388cd80256c6f8c2
Last active October 9, 2025 11:17
Order property type taxonomy dropdown by most popular
add_filter( 'propertyhive_form_taxonomy_terms_args', 'custom_property_type_order', 10, 2 );
function custom_property_type_order($args, $field)
{
if ( $field['type'] == 'commercial_property_type' )
{
$args['orderby'] = 'count';
$args['order'] = 'DESC';
}
return $args;
}
add_filter( 'houzez_property_feed_clean_price_on_import', 'dont_clean_price');
function dont_clean_price( $clean )
{
return false;
}
document.addEventListener('click', function (e) {
const btn = e.target.closest('.e-n-tab-title');
if (!btn) return;
afterActivation(btn, () => {
if (btn.getAttribute('aria-selected') === 'true') {
const idx = Number(btn.getAttribute('data-tab-index'));
if ( idx == 2 )
{
initialize_property_street_view();
add_action( "propertyhive_property_imported_agentos_json", "set_new_home_flag", 10, 2 );
function set_new_home_flag( $post_id, $property )
{
if ( isset($property['IsNewHome']) && $property['IsNewHome'] === true )
{
wp_suspend_cache_invalidation( true );
wp_defer_term_counting( true );
wp_defer_comment_counting( true );
wp_set_post_terms( $post_id, 123, 'marketing_flag' ); // Set 123 to term ID of 'New Home' flag set in 'Property hive > Settings > Cutom Fields > Marketing Flags
add_filter( "houzez_property_feed_properties_due_import_xml", 'exclude_lease', 10, 2 );
function exclude_lease( $properties, $import_id )
{
$new_properties = array();
foreach ( $properties as $property )
{
if ( isset($property->Categories) && (string)$property->Categories === 'Lease' )
{
// ignore
<?php
// Place where you want this new section output:
if ( isset($_GET['address_keyword']) && !empty($_GET['address_keyword']) )
{
$address_keyword = sanitize_text_field($_GET['address_keyword']);
$radius = 10;
if ( isset($_GET['radius']) && !empty($_GET['radius']) )
{
$radius = (int)$_GET['radius'] + 10; // add 10 miles to the radius already being searched
@propertyhive
propertyhive / gist:4f578b1e11141dab92b40087e82e5e2a
Created August 29, 2025 06:37
Order digital displays by availability
add_action( 'pre_get_posts', 'custom_order_dd_properties_by_availability', 10, 2 );
function custom_order_dd_properties_by_availability($query)
{
if ( is_admin() )
{
return;
}
$post_type = $query->get('post_type');
if ( !is_array($post_type) ) { $post_type = array($post_type); }
add_filter( "houzez_property_feed_properties_due_import_reaxml", 'remove_commas_from_price', 10, 2 );
function remove_commas_from_price( $properties, $import_id )
{
foreach ( $properties as $property )
{
if ( isset($property->priceView) )
{
$property->priceView = str_replace(",", "", (string)$property->priceView);
}
}
add_filter( "houzez_property_feed_properties_due_import_reaxml", 'lowercase_suburb', 10, 2 );
function lowercase_suburb( $properties, $import_id )
{
foreach ( $properties as $property )
{
if ( isset($property->address->suburb) )
{
$property->address->suburb = ucwords(strtolower((string)$property->address->suburb));
}
}
add_action( 'propertyhive_property_import_queued_media_imported', 'pause_between_media_imports', 10, 2 );
function pause_between_media_imports($property_id, $media_type)
{
sleep(5); // pause for 5 seconds between importing media for each property to try and get around 'Too Many Requests' issue.
}