SHARE
TWEET

Add Custom Event Attribute in your Event Search form

eventsmanager Feb 25th, 2016 (edited) 335 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  This snippet will add Custom Event Attribute in your Event Search form
  3.  */
  4.  
  5. /*
  6.    Step 1: add this custom filters in your theme functions.php or thru wp-content/mu-plugins/functions.php(create this php file or directory if this does not exists yet)
  7.    
  8.    NOTE: Change ContactName with your attribute name
  9.  */
  10.  
  11. /************************************/
  12.  
  13.  function em_ContactName_get_default_search($searches, $array)
  14. {
  15.     if( !empty($array['ContactName'])){
  16.         $searches['ContactName'] = $array['ContactName'];
  17.     }
  18.     return $searches;
  19. }
  20. add_filter('em_events_get_default_search','em_ContactName_get_default_search',1,2);
  21.  
  22. add_filter('em_events_get','em_em_ContactName_get_default_search_events_get',1,2);
  23. function em_em_ContactName_get_default_search_events_get($events, $args)
  24. {
  25.     if( !empty($args['ContactName'])){
  26.        
  27.         $event_types = explode(',', $args['ContactName']);
  28.         foreach($events as $event_key => $EM_Event){
  29.             if( !in_array($EM_Event->event_attributes['ContactName'], $event_types) ){
  30.                 unset($events[$event_key]);
  31.             }
  32.         }
  33.     }
  34.     return $events;
  35. }
  36.  
  37. function em_contactname_att($args){
  38.  $args['ContactName'] = $_REQUEST['ContactName'];
  39.  return $args;
  40. }
  41. add_filter('em_content_events_args','em_contactname_att',1,1);
  42.  
  43. /************************************/
  44.  
  45. /*
  46.    Step 2: Create this php template and directory in your theme directory:
  47.    
  48.    wp-contents > Themes > Your Theme Name > (create this folder) plugins > (create this folder) events-manager > (create this folder) templates > (create this folder) search > (create this file) categories.php
  49.    
  50.    THEN edit this categories.php THEN copy the contents from wp-content/plugins/events-manager/templates/templates/search/categories.php and (add at the bottom) paste the following:
  51.  */  
  52.  
  53.  /************************************/
  54.  <!-- START Custom Event Attributes -->
  55. <?php
  56.  //NOTE: Change ContactName with your attribute name
  57.  //NOTE: you might need to modify this to prevent duplicate attribute being added to the options
  58. ?>
  59. <?php
  60.  $events = EM_Events::get($args);
  61. ?>
  62. <div class="em-search-event-attributes em-search-field">
  63.  <label>Event Attributes </label>
  64.  <select name="ContactName">
  65.   <option> </option>
  66.   <?php foreach($events as $EM_Event){ ?>
  67.     <?php if ( !empty($EM_Event->event_attributes['ContactName']) ): ?>
  68.     <option value="<?php echo $EM_Event->event_attributes['ContactName']; ?>"> <?php echo $EM_Event->event_attributes['ContactName']; ?> </option>
  69.     <?php endif; ?>
  70.   <?php } ?>
  71.  </select>
  72. </div>
  73.  /************************************/
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top