Guest User

Untitled

a guest
Dec 28th, 2016
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. <?php
  2. function tribe_ext_gf_event_merge_tag( $text, $url_encode = false, $entry = false, $esc_html = false, $form = false, $nl2br = false, $format = 'html' ) {
  3.  
  4. preg_match_all( "/\{tribe_event:(.*?)\}/", $text, $event_matches, PREG_SET_ORDER );
  5. if ( ! empty( $event_matches ) ) {
  6. global $post;
  7. $post_array = GFCommon::object_to_array( $post );
  8. $event_id = $post_array['ID'];
  9.  
  10. //custom_field
  11. foreach ( $event_matches as $match ) {
  12. $full_tag = $match[0];
  13. $custom_field_name = $match[1];
  14. $custom_field_value = get_post_meta( $event_id, $custom_field_name, true );
  15.  
  16. // Only look at the Venue and Organizer if you didnt find anything at the event PostMeta
  17. if ( ! $custom_field_value ) {
  18.  
  19. // Look at the Venue Data
  20. if ( 0 === strpos( $custom_field_name, '_Venue' ) ) {
  21. $venue_id = get_post_meta( $event_id, '_EventVenueID', true );
  22.  
  23.  
  24. // Only Try if we have a Venue
  25. if ( $venue_id ) {
  26. $custom_field_value = get_post_meta( $venue_id, $custom_field_name, true );
  27. }
  28. // Look at the Organizer Data
  29. } elseif ( 0 === strpos( $custom_field_name, '_Organizer' ) ) {
  30. $organizer_id = get_post_meta( $event_id, '_EventOrganizerID', true );
  31.  
  32. // Only Try if we have an Organizer
  33. if ( $organizer_id ) {
  34. $custom_field_value = get_post_meta( $organizer_id, $custom_field_name, true );
  35. }
  36. }
  37.  
  38. }
  39.  
  40. $text = str_replace( $full_tag, $url_encode ? urlencode( $custom_field_value ) : $custom_field_value, $text );
  41. }
  42. }
  43.  
  44. return $text;
  45. }
Add Comment
Please, Sign In to add comment