• On the locations page, I would like to have a sentence below each location that says “Currently booked” if there is an event tied to that location on a month or “Available for booking” if there are not events taking place on that location.

    Currently, I just add a shortcode like this:

    Thank you very much for a great service

    https://wordpress.org/plugins/events-maker/

Viewing 2 replies - 1 through 2 (of 2 total)
  • Thread Starter Tulesi

    (@tulesi)

    I noticed the Locations are already tied by an event parameter as when i view the list of locations in the backend, I see the event count before each location. So may be just checking the event end date/time in the WHERE clause should do the trick.

    not that it is an easy job.

    Appreciate your efforts and time put into making this great service to a lot of people. Kudos

    Plugin Author dFactory

    (@dfactory)

    @tulesi, i’m not sure i get what you’re trying to achieve but…

    i think you need to hook into em_after_loop_event_location_title action hook. this is used right after displaying location title, before location details.

    you have the $location global variable there, so may do an events query, not tested but should work:

    function df_em_after_loop_event_location_title() {
    	global $location;
    
    	$args = array(
    		// get events for current location
    		'tax_query' => array(
    			array(
    				'taxonomy'	=> 'event-location',
    				'field'		=> 'term_id',
    				'terms'		=> $location->term_id,
    			),
    		),
    		// first day of this month
    		'event_end_after'	=> date( 'Y-m-01' ), // event_start_after?
    		// last day of this month
    		'event_end_before'	=> date( 'Y-m-t' ) // event_start_before?
    	);
    	$location_events = em_get_events( $args );
    
    	// are there any events for this month?
    	if ( ! empty( $location_events ) ) {
    		echo __( 'Currently booked', 'your-textdomain' );
    	} else {
    		echo __( 'Available for booking', 'your-textdomain' );
    	}
    }
    // use higher priority to modify the position
    add_action( 'em_after_loop_event_location_title', 'df_em_after_loop_event_location_title', 10 );

    Regards,
    Bartosz / dFactory

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Tie location to event on locations page’ is closed to new replies.