wordpress-event-bridge-for-.../includes/integrations/class-vs-event-list.php

74 lines
1.8 KiB
PHP
Raw Normal View History

2024-09-06 14:58:21 +02:00
<?php
/**
* VS Events LIst.
*
* Defines all the necessary meta information for the WordPress event plugin
* "Very Simple Events List".
*
* @link https://de.wordpress.org/plugins/very-simple-event-list/
* @package Event_Bridge_For_ActivityPub
2024-09-06 14:58:21 +02:00
* @since 1.0.0
*/
namespace Event_Bridge_For_ActivityPub\Integrations;
2024-09-06 14:58:21 +02:00
2024-12-15 22:25:28 +01:00
use Event_Bridge_For_ActivityPub\ActivityPub\Transformer\VS_Event_List as VS_Event_List_Transformer;
2024-09-06 14:58:21 +02:00
// 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.
*
* @since 1.0.0
*/
2024-12-15 22:25:28 +01:00
final class VS_Event_List extends Event_Plugin_Integration {
2024-09-06 14:58:21 +02:00
/**
* Returns the full plugin file.
*
* @return string
*/
public static function get_relative_plugin_file(): string {
2024-09-06 14:58:21 +02:00
return 'very-simple-event-list/vsel.php';
}
/**
* Returns the event post type of the plugin.
*
* @return string
*/
public static function get_post_type(): string {
return 'event';
}
/**
* Returns the IDs of the admin pages of the plugin.
2024-09-06 14:58:21 +02:00
*
* @return array The settings page urls.
2024-09-06 14:58:21 +02:00
*/
public static function get_settings_pages(): array {
return array( 'settings_page_vsel' );
2024-09-06 14:58:21 +02:00
}
/**
2024-12-15 22:25:28 +01:00
* Returns the taxonomy used for the plugin's event categories.
2024-09-06 14:58:21 +02:00
*
* @return string
*/
2024-12-15 22:25:28 +01:00
public static function get_event_category_taxonomy(): string {
return 'event_cat';
2024-09-06 14:58:21 +02:00
}
/**
2024-12-15 22:25:28 +01:00
* Returns the ActivityPub transformer for a VS_Event_List event post.
2024-09-06 14:58:21 +02:00
*
2024-12-15 22:25:28 +01:00
* @param WP_Post $post The WordPress post object of the Event.
* @return VS_Event_List_Transformer
2024-09-06 14:58:21 +02:00
*/
2024-12-15 22:25:28 +01:00
public static function get_activitypub_event_transformer( $post ): VS_Event_List_Transformer {
return new VS_Event_List_Transformer( $post, self::get_event_category_taxonomy() );
2024-09-06 14:58:21 +02:00
}
}