Skip to content

Instantly share code, notes, and snippets.

@GeoffEW
Created April 17, 2017 23:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GeoffEW/78ca31b32fb5103cede7a884b7249875 to your computer and use it in GitHub Desktop.
Save GeoffEW/78ca31b32fb5103cede7a884b7249875 to your computer and use it in GitHub Desktop.
Tribe, merge venues
<?php
/* Tribe, merge venues util function */
function merge_venues ( $venue_id, $merge_venues ) {
// let's check the venues_id is valid
if ( !tribe_is_venue( $venue_id ) ) return;
foreach ( $merge_venues as $merge_venue ) {
if ( !tribe_is_venue( $merge_venue ) ) continue;
// replace merge_venue for new venue in all events
$events = tribe_get_events ( array('venue' => $merge_venue) );
foreach ( $events as $event ) {
$data = array();
$data['venue']['VenueID'] = $venue_id;
if ( get_post_meta( $event->ID, '_EventShowMap', true ) ) $data['venue']['EventShowMap'] = 1;
if ( get_post_meta( $event->ID, '_EventShowMapLink', true ) ) $data['venue']['EventShowMapLink'] = 1;
Tribe__Events__API::saveEventMeta( $event->ID, $data );
}
// delete merge_venue
Tribe__Events__API::deleteVenue( $merge_venue );
}
}
/*
* IMPORTANT: venues will be deleted from your site!!!
* Uncomment the code below, input the correct venue IDs and reload a site page for it to run once, then comment it back again.
* The first parameter is the correct venue ID
* The second parameter is an array that holds venues ID to merged and deleted
*/
//add_action ( 'init', function () { merge_venues ( 99, array ( 33, 34, etc ) ); } );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment