wordpress-event-bridge-for-.../docs/event_plugin_integrations.md
André Menrath 77d72a324c
Some checks failed
PHP Code Checker / PHP Code Checker (pull_request) Successful in 52s
PHPUnit / PHPUnit – PHP 7.4 (pull_request) Failing after 59s
PHPUnit / PHPUnit – PHP 8.0 (pull_request) Failing after 1m1s
PHPUnit / PHPUnit – PHP 8.1 (pull_request) Failing after 1m0s
PHPUnit / PHPUnit – PHP 8.2 (pull_request) Failing after 57s
PHPUnit / PHPUnit – PHP 8.3 (pull_request) Failing after 1m3s
PHPUnit / PHPUnit – PHP 8.4 (pull_request) Failing after 53s
cleanup and enhencement of documentation
2024-12-16 17:06:57 +01:00

1.7 KiB

Event Plugin Integrations

First you need to add some basic information about your event plugin. Just create a new file in ./includes/integrations/my-event-plugin.php. Implement at least all abstract functions of the Event_Plugin_Integration class.

Basic Event Plugin Integration

  namespace Event_Bridge_For_ActivityPub\Integrations;

  // Exit if accessed directly.
  defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore

  /**
   * Integration information for My Event Plugin
   *
   * This class defines necessary meta information is for the integration of My Event Plugin with the ActivityPub plugin.
   */
  final class My_Event_Plugin extends Event_Plugin_Integration {

Registering an Event Plugin Integration

Then you need to tell the Event Bridge for ActivityPub about that class by adding it to the EVENT_PLUGIN_INTEGRATIONS constant in the includes/setup.php file:

	private const EVENT_PLUGIN_INTEGRATIONS = array(
		...
		\Event_Bridge_For_ActivityPub\Integrations\My_Event_Plugin::class,
	);

Additional Feature: Event Sources

Not all Event Plugin Integrations support the event-sources feature. To add support for it an integration must implement the Feature_Event_Sources interface.

namespace Event_Bridge_For_ActivityPub\Integrations;

// Exit if accessed directly.
defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore

  /**
   * Integration information for My Event Plugin.
   *
   * This class defines necessary meta information is for the integration of My Event Plugin with the ActivityPub plugin.
   * This integration supports the Event Sources Feature.
   */
final class GatherPress extends Event_Plugin_Integration implements Feature_Event_Sources {