Title: Conditional: has_region
Last modified: August 21, 2016

---

# Conditional: has_region

 *  Resolved [antwoorden](https://wordpress.org/support/users/antwoorden/)
 * (@antwoorden)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/)
 * I want to create another custom conditional: has_region.
    But somehow I can’t
   manage to get it right…
 * This is what I tried in my theme’s functions.php, but didn’t work:
 * function filterLocationOutputCondition($replacement, $condition, $match, $EM_Location){
   
   if (is_object($EM_Location)) {
 *  switch ($condition) {
 *  case ‘has_region’:
    if (is_array($EM_Location->location_attributes) && !empty(
   $EM_Location->location_attributes[‘Region’])) $replacement = preg_replace(‘/\{\/?
   has_region\}/’, ”, $match); else $replacement = ”; break;
 *  }
 *  }
 *  return $replacement;
    }
 * add_filter(’em_location_output_condition’, ‘filterLocationOutputCondition’, 10,
   4);
 * [http://wordpress.org/extend/plugins/events-manager/](http://wordpress.org/extend/plugins/events-manager/)

Viewing 8 replies - 1 through 8 (of 8 total)

 *  Plugin Support [angelo_nwl](https://wordpress.org/support/users/angelo_nwl/)
 * (@angelo_nwl)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794091)
 * can you try this?
 *     ```
       add_action('em_location_output_condition', 'filterLocationOutputCondition', 1, 4);
       function filterLocationOutputCondition($replacement, $condition, $match, $EM_Location){
       	if( is_object($EM_Location) && preg_match('/^has_region/',$condition, $matches) ){
       		if ( is_array($EM_Location->location_attributes) && !empty($EM_Location->location_attributes['Region']) ){
       			$replacement = preg_replace("/\{\/?$condition\}/", '', $match);
       		}else{
       			$replacement = '';
       		}
       	}
       	return $replacement;
       }
       ```
   
 *  Thread Starter [antwoorden](https://wordpress.org/support/users/antwoorden/)
 * (@antwoorden)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794094)
 * Thanks for your effort! But it doesn’t work…
 * I placed your code in functions.php of Twenty Twelve (theme I’m using on this
   test). I put something between {has_region} and {/has_region} at the single location
   markup, but still no result: the conditional phrase doesn’t appear, while the
   locations do have regions…
 *  Thread Starter [antwoorden](https://wordpress.org/support/users/antwoorden/)
 * (@antwoorden)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794095)
 * In other words: it always gives the else replacement, as if no location has a
   defined region…
 *  Plugin Author [Marcus (aka @msykes)](https://wordpress.org/support/users/netweblogic/)
 * (@netweblogic)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794107)
 * i think there’s a mistake in the above code:
 *     ```
       add_action('em_location_output_condition', 'filterLocationOutputCondition', 1, 4);
       function filterLocationOutputCondition($replacement, $condition, $match, $EM_Location){
       	if( is_object($EM_Location) && preg_match('/^has_region/',$condition, $matches) ){
       		if ( is_array($EM_Location->location_region) && !empty($EM_Location->location_region) ){
       			$replacement = preg_replace("/\{\/?$condition\}/", '', $match);
       		}else{
       			$replacement = '';
       		}
       	}
       	return $replacement;
       }
       ```
   
 *  Thread Starter [antwoorden](https://wordpress.org/support/users/antwoorden/)
 * (@antwoorden)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794122)
 * Thanks, but nope… same outcome.
 *  Plugin Author [Marcus (aka @msykes)](https://wordpress.org/support/users/netweblogic/)
 * (@netweblogic)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794173)
 * another correction:
 *     ```
       add_action('em_location_output_condition', 'filterLocationOutputCondition', 1, 4);
       function filterLocationOutputCondition($replacement, $condition, $match, $EM_Location){
       	if( is_object($EM_Location) && preg_match('/^has_region/',$condition, $matches) ){
       		if ( !empty($EM_Location->location_region) ){
       			$replacement = preg_replace("/\{\/?$condition\}/", '', $match);
       		}else{
       			$replacement = '';
       		}
       	}
       	return $replacement;
       }
       ```
   
 *  Thread Starter [antwoorden](https://wordpress.org/support/users/antwoorden/)
 * (@antwoorden)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794174)
 * This works great! Thank you VERY much!!!
 *  Plugin Author [Marcus (aka @msykes)](https://wordpress.org/support/users/netweblogic/)
 * (@netweblogic)
 * [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794175)
 * yay 🙂

Viewing 8 replies - 1 through 8 (of 8 total)

The topic ‘Conditional: has_region’ is closed to new replies.

 * ![](https://ps.w.org/events-manager/assets/icon-256x256.png?rev=3550347)
 * [Events Manager - Calendar, Bookings, Tickets, and more!](https://wordpress.org/plugins/events-manager/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/events-manager/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/events-manager/)
 * [Active Topics](https://wordpress.org/support/plugin/events-manager/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/events-manager/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/events-manager/reviews/)

## Tags

 * [conditional](https://wordpress.org/support/topic-tag/conditional/)
 * [Region](https://wordpress.org/support/topic-tag/region/)

 * 8 replies
 * 3 participants
 * Last reply from: [Marcus (aka @msykes)](https://wordpress.org/support/users/netweblogic/)
 * Last activity: [13 years ago](https://wordpress.org/support/topic/conditional-has_region/#post-3794175)
 * Status: resolved