用途:该技能面向 WordPress ActivityPub 插件的第三方集成开发,用于指导新增集成、调试与其他插件的兼容性,以及理解已有集成的工作方式。
主要能力与结构:所有集成位于 integration/ 目录,文件命名遵循 class-{plugin-name}.php,命名空间为 Activitypub\Integration。集成在 integration/load.php 的 plugin_init() 中装配,每项都由检测检查保护,再调用该类的静态 init()。已有集成包括 akismet、buddypress、classic-editor、enable-mastodon-apps、jetpack、litespeed-cache、multisite-language-switcher、nodeinfo、opengraph、podlove-podcast-publisher、seriously-simple-podcasting、surge、webfinger、wpml、yoast-seo。例如 Akismet 对入站评论与交互运行垃圾检测,OpenGraph 添加 fediverse:creator 等元数据,Enable Mastodon Apps 让 Mastodon 客户端应用与站点通信,缓存类插件保证 ActivityPub 响应正确缓存或不缓存,多语言插件处理语言感知的 actor 与内容。
必要用法:为文章类型启用联邦使用 \add_post_type_support( 'event', 'activitypub' ),启用的类型存于 activitypub_support_post_types 选项。自定义转换器通过 activitypub_transformer 过滤器注册,参数为 ( $transformer, $data, $object_class ),优先级 10、参数数 3。修改最终 ActivityStreams 数组可挂 activitypub_activity_object_array,参数为 ( $array, $class, $id, $object )。在 integration/load.php 中注册时使用检测保护,如 if ( \defined( 'PLUGIN_VERSION' ) ) { Plugin_Name::init(); }。
限制与注意事项:集成必须在 load.php 中用检测检查保护后再调用 init();需要覆盖其他插件默认值时使用较晚的过滤器优先级;文档建议测试多个插件版本、记录兼容性要求并优雅处理插件停用。资料未提供收费、价格或平台等信息。