ActivityPub Integrations
This skill provides guidance on integrating the ActivityPub plugin with other WordPress plugins.
Quick Reference Integration Location
All integrations live in the integration/ directory.
File naming: class-{plugin-name}.php (following PHP conventions)
Available Integrations BuddyPress bbPress WooCommerce Jetpack The Events Calendar WP User Avatars And 13+ more
For complete directory structure and naming conventions, see PHP Class Structure.
Creating New Integration Basic Integration Class
ID, 'price', true ); } return $object; }, 10, 2 ); Testing Integrations Verify Integration Loading // Check if integration is active. if ( class_exists( '\Activitypub\Integration\Plugin_Name' ) ) { // Integration loaded. } Test Compatibility Install target plugin Activate ActivityPub Check for conflicts Verify custom post types work Test federation of plugin content Common Integration Issues Plugin Detection // Multiple detection methods. if ( defined( 'PLUGIN_VERSION' ) ) { } if ( function_exists( 'plugin_function' ) ) { } if ( class_exists( 'Plugin_Class' ) ) { } Hook Priority // Use appropriate priority. add_filter( 'hook', 'callback', 20 ); // After plugin's filter. Namespace Conflicts // Use fully qualified names. $object = new \Plugin\Namespace\Class(); Existing Integrations BuddyPress Adds BuddyPress activity support Custom member transformers Group activity federation WooCommerce Product post type support Order activity notifications Customer review federation bbPress Forum topic federation Reply activities User forum profiles Best Practices Always check if plugin is active before adding hooks Use late priority for filters to override plugin defaults Test with multiple plugin versions Document compatibility requirements Handle plugin deactivation gracefully ?>