Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: FG Events Manager Hack
- Plugin URI:
- Description: Modifies the behaviour of Events Manager plugin
- Add the start event date in the permalink using the format /YYYY/mm/dd
- Author: Frédéric GILLES
- Version: 1.0
- */
- /**
- * Add the start event date in the permalink
- *
- * @param string $event_link Event link
- * @param object $object Event object
- * @return string Event link
- */
- function fg_events_manager_get_permalink($event_link, $object) {
- $start_date = $object->event_start_date;
- $start_date = str_replace('-', '/', $start_date);
- $event_slug = get_site_option('dbem_cp_events_slug');
- $event_link = str_replace($event_slug, $event_slug.'/'.$start_date, $event_link);
- return $event_link;
- }
- add_filter('em_event_get_permalink', 'fg_events_manager_get_permalink', 10, 2);
- /**
- * Add a rewrite rule to accept the date in the permalink
- *
- */
- function fg_events_manager_add_rules() {
- $event_slug = get_site_option('dbem_cp_events_slug');
- add_rewrite_rule($event_slug.'/\d+/\d+/\d+/(.+)$', 'index.php?post_type=event&name=$matches[1]', 'top'); // single event
- //flush_rewrite_rules(); // To remove
- }
- add_action('init', 'fg_events_manager_add_rules', 9); // Must be run before events manager
- /**
- * Plugin activation
- *
- */
- function fg_events_manager_activate() {
- fg_events_manager_add_rules();
- flush_rewrite_rules();
- }
- register_activation_hook( __FILE__, 'fg_events_manager_activate' );
- /**
- * Plugin deactivation
- *
- */
- function fg_events_manager_deactivate() {
- flush_rewrite_rules();
- }
- register_deactivation_hook( __FILE__, 'fg_events_manager_deactivate' );
Add Comment
Please, Sign In to add comment