<?php
/**
* WP Event Manager.
*
* Defines all the necessary meta information for the WordPress event plugin
* "WP Event Manager"
* @link https://de.wordpress.org/plugins/wp-event-manager
* @package Event_Bridge_For_ActivityPub
* @since 1.0.0
*/
namespace Event_Bridge_For_ActivityPub\Integrations;
use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\WP_Event_Manager as WP_Event_Manager_Transformer;
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore
* Interface for a supported event plugin.
* This interface defines which information is necessary for a supported event plugin.
final class WP_Event_Manager extends Event_Plugin_Integration {
* Returns the full plugin file.
* @return string
public static function get_relative_plugin_file(): string {
return 'wp-event-manager/wp-event-manager.php';
}
* Returns the event post type of the plugin.
public static function get_post_type(): string {
return 'event_listing';
* Returns the IDs of the admin pages of the plugin.
* @return array The settings page urls.
public static function get_settings_pages(): array {
return array( 'event-manager-settings' );
* Returns the taxonomy used for the plugin's event categories.
public static function get_event_category_taxonomy(): string {
return 'event_listing_category';
* Returns the ActivityPub transformer for a WP_Event_Manager event post.
* @param WP_Post $post The WordPress post object of the Event.
* @return WP_Event_Manager_Transformer
public static function get_activitypub_event_transformer( $post ): WP_Event_Manager_Transformer {
return new WP_Event_Manager_Transformer( $post, self::get_event_category_taxonomy() );