pfefferle / wordpress-webmention
WordPress的Webmention插件 https://wordpress.org/plugins/webmention/
Requires
- php: >=7.0
- composer/installers: ^1.0 || ^2.0
Requires (Dev)
- dev-main
- 5.3.3
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.9
- 5.1.8
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.0
- 4.x-dev
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.8.11
- 3.8.10
- 3.8.9
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.1
- 3.1.1
- 3.1.0
- 3.0.1
- 3.0.0
- 3.0.0-beta1
- dev-webmentionopen
- dev-improve/performance
- dev-add/reply-context-ui
- dev-fix/do-not-disable-spam-filter
- dev-local-avatar-store5
- dev-local-avatar-store
This package is auto-updated.
Last update: 2024-09-14 16:23:21 UTC
README
贡献者: pfefferle, dshanske, indieweb
捐赠链接: https://notiz.blog/donate/
标签: webmention, pingback, trackback, linkback, indieweb
至少需要 4.9
已测试至 6.6
稳定标签 5.3.3
需要PHP 7.0
许可: MIT
许可URI: https://open-source.org.cn/licenses/MIT
启用跨网络的对话。
描述
当你链接到一个网站时,你可以发送一个Webmention来通知它,然后该网站可能会显示你的帖子作为评论、喜欢或其他响应,然后 presto,你就在一个网站和另一个网站之间进行对话了!
Webmention是一个通知,表明一个URL链接到另一个URL。发送Webmention不仅限于博客文章,还可以用于其他类型的内容和响应。
例如,响应可以是活动的RSVP,表示某人“喜欢”另一篇帖子,另一篇帖子的“书签”,以及其他许多内容。Webmention使得这些交互可以在不同的网站之间发生,从而实现分布式社交网络。
Webmention插件支持Webmention协议,为你提供发送和接收Webmention的支持。它提供了一个简单的内置展示。
常见问题解答
什么是Webmention?
Webmention是一种简单的方式,当你在自己的网站上链接到它时,可以自动通知任何URL。从接收者的角度来看,这是一种请求通知其他网站链接到它的方式。
这听起来像Pingback或Trackback
Webmention是Pingback或Trackback的更新/替代品。与较老的协议不同,该规范由W3C推荐,并且有活跃的社区个人在使用它。
我如何发送和接收Webmention?
在WordPress的设置 --> 讨论页面
- 在Webmention设置页面,决定您想为哪些帖子类型启用Webmention。默认情况下,是帖子页面。
- 设置一个页面,将主页提及重定向到该页面。这将自动启用该页面的Webmention。
- 如果您想在评论部分启用Webmention表单,请勾选框。
您可以使用send_webmention($source, $target)
函数并传递源和目标,或者您可以通过触发动作,如do_action('send_webmention', $source, $target)
。
我如何为自定义帖子类型支持Webmention?
当声明您的自定义帖子类型时,通过将Webmention支持包含在您的register_post_type
条目中,为Webmention添加帖子类型支持。这也可以在Webmention设置中添加。
我如何为附件发送/接收Webmention?
您可以在Webmention设置中启用接收附件的Webmention。您可以在设置中启用发送媒体链接的Webmention。请注意,大多数接收Webmention的实体不支持接收图像、音频和视频文件。为了在WordPress中接收它们,必须在Web服务器级别添加Webmention端点头。
如何处理对我的主页或存档页面的Webmention?
Webmention应该允许在博客的所有URL上,然而WordPress不支持这一点,因为只有帖子可以有附加的评论。当前插件只处理帖子的Webmention,并允许您设置一个页面来接收主页提及。
虽然这不是自动完成的,但通过提供一个显示收集提及的帖子/页面,添加对存档和网站URL的支持非常简单。插件为此提供了一个简单的过滤器。
在下面的示例中,如果没有返回页面,它将发送提及到一个通配符帖子。您也可以为每个URL有独特的帖子。
function handle_other_webmentions($id, $target) {
// do nothing if id is set
if ($id) {
return $id;
}
// return "default" id if plugin can't find a post/page
return 9247;
}
add_filter("webmention_post_id", "handle_other_webmentions", 10, 2);
缓存插件会影响我的使用吗?
Webmention端点的URL,您可以在页面的源中查看,应排除在服务器或插件缓存之外。
由于Webmention使用REST API端点系统,大多数最新的缓存插件应该默认排除它。
为什么这个插件有关于头像的设置?
Webmention具有作为丰富评论的功能。这包括显示头像。如果发现头像,将存储其URL。这可能来自媒体库中的某个东西或文件的URL。如果文件损坏,它将存储默认Gravatar图像的本地副本。
我网站的一些页面没有Webmention头信息
只有当特定URL有Webmention可用时,才会显示Webmention头信息。如果您想无论如何都显示它,可以将以下内容添加到您的wp-config.php文件中。
define( 'WEBMENTION_ALWAYS_SHOW_HEADERS', 1 );
我如何自定义我的webmention显示?
此插件包含了一些增强功能,以增强内置的WordPress评论系统,同时允许现有方法提供自定义。它通过使用自定义评论遍历器来修改经典默认设置,以考虑Webmention。默认情况下,许多主题提供了对wp_list_comments
函数的定制回调。此插件增加了对此的支持。首先,自定义回调参数通常是一个包含函数名称的字符串。我们增强了它在那种情况下表现得像正常情况,但如果传递了一个数组,则允许根据数组的键或默认的'所有'键进行特定回调。这意味着每种评论类型,即每种Webmention类型或其他类型,都可以有自己的自定义回调。
它引入了默认html5评论函数的新版本,添加了正确的microformats2标记,并为webmention添加了适当的网站引用,例如Bob @ Example.Com,以及一个钩子webmention_comment_metadata
,它将评论对象作为唯一参数提供,以添加任意元数据。这将被主题中完成的任何自定义评论渲染所覆盖。
插件中有一个选项,可以显示不判定为回复或评论的webmention,或者将它们作为仅头像的列表单独显示。覆盖了wp_list_comments
函数,以允许avatar_only
选项,这将渲染此内容,还有一个选项overlay
,它会在图标上叠加反映反应类型。反应是webmention类型,如喜欢,它没有文本组件。如果您选择将它们显示为评论,文本将显示作者喜欢这篇文章
。
并非所有显示选项都可以是设置,但我们正寻求提供一些简单的选项,如果需要的话,可以在主题中进行自定义。
变更日志
项目和支持在github上维护,地址为 pfefferle/wordpress-webmention。
5.3.3
- 即使评论已关闭,也要加载CSS,因为Webmentions会忽略该设置
- 改进
version()
方法
5.3.2
- 几个小修复
5.3.1
- 修复致命错误
5.3.0
- 修复FSE主题中的facepile
- 修复远程删除
- 更新Readme和资源
5.2.6
- 修复对comment_parent的null引用
5.2.5
- 当回退时,Comment Walker调用的是常规版本而不是HTML5版本的评论函数。
5.2.4
- 修复致命PHP错误
5.2.3
- 修复pingback回退(祝你生日快乐,Matt https://ma.tt/2024/01/birthday-gift/)
5.2.2
- 改进回退处理,避免将“匿名”作为帖子作者
5.2.1
- 修复内置评论类型被拒绝的问题
5.2.0
- 不要绕过垃圾邮件过滤器
- 支持源更新通知
- 添加实验性头像存储
5.1.9
- 仅对Webmention和仅在前端替换
comment_link
5.1.8
- 仅对有源的Webmention替换
comment_link
5.1.7
- 修复WP解析器中的致命错误
5.1.6
- 允许变量为null。
5.1.5
- 恢复facepile的溢出选项,这次使用details标签
- 添加用于查找WordPress REST API的HTML链接发现
- 加载作者页面以在只提供URL时找到姓名/照片
- 修复时区问题,时间未正确转换为网站时间
- 引入webmentions_open函数,该函数确定帖子是否开放Webmention。目前是围绕pings_open的一个包装器
- 其他小修复
5.1.4
- 修复:避免在不需要时队列Webmention的CSS样式表。
- 修复:支持嵌套评论。
- 添加:客户端URL验证。
5.1.3
- 修复时区问题导致异常
5.1.2
- 移除内置WordPress过滤,改为插件过滤传入的Webmention。
- 如果内容很长且类型为提及,尝试使用摘要或名称而不是完整内容作为显示。
- 修复meta覆盖mf2的问题
- 改进JSON-LD处理器
5.1.1
- 多个解析器/处理器修复
- 移除不必要的
comments.php
加载 - 一些工具更新
5.1.0
- 添加mf2作者迁移
- 包括重复检查的垃圾邮件和存档状态
- 更新测试并使u-url属性对于帖子类型发现为可选
- 更新重复检查
- 仅对新评论设置创建时间
- 允许从批量操作菜单刷新Webmention
- 移除Gravatar缓存
- 许多小改进和修复
5.0.0
- 代码库的重构
- 引入PHP命名空间
- 引入新的解析器,如果Microformats不足以渲染评论,则回退到WordPress REST API、JSON-LD或HTML元标签。
- 在“工具”下引入Webmention解析的调试器/测试工具
- Webmention不再作为提及类型的评论存储,而是作为自定义评论类型存储
- 引入新的简化表示代码,为未来的可选自定义模板提供支持
4.0.9
- 修复XSS问题
4.0.8
- 添加对
srcset
的onerror
处理(感谢@florianbrinkmann进行测试)
4.0.7
- 重新添加对损坏图像的
onerror
处理(感谢@snarfed)
4.0.6
- 更新要求
4.0.5
- 在适当测试/使用之前移除
Webmention_Notification
类
4.0.4
- 更新依赖项
- 修复WordPress警告
4.0.3
- 将评论批准列表和自动批准移动到由
wp_new_comment
函数调用的wp_allow_comment
函数。 - 对头像函数进行小修复,以考虑到评论有一个空的评论类型
4.0.2
- 当存储的头像是Gravatar时,使用缓存
4.0.1
- 只有当
pings_open
时才显示Webmention表单 - 即使禁用评论,也显示Webmention表单
4.0.0
- 添加设置以通过公共帖子类型启用Webmention支持
- 添加设置以禁用发送媒体链接...附加到图像、视频或音频标签的URL
- 从发送Webmention到帖子内容中的所有URL切换到只有正确HTML标记的URL
- 支持处理存储在元数据中的头像
- 如果没有电子邮件,则提供本地匿名头像,并缓存定义时间段内是否存在Gravatar
- 在评论元数据中存储Webmention协议属性
- 如果URL不支持Webmention,则不显示Webmention头
- 更新Webmention元模板以使用单独的文件,该文件在编辑评论屏幕上显示
- 最低PHP版本提升到5.4。WordPress当前最低版本为5.6,但我们支持回4.9版本
- 出于兼容性原因,加载一个版本的
is_avatar_comment_type
(5.1版引入)和get_self_link
(5.3版引入),以供此插件使用 - 改进所有设置和模板表单(感谢@tw2113)
3.8.11
- 小错误修复
3.8.10
- 基于使用插件意味着您想要Webmention而不是默认pingback设置,始终启用Webmention
- 修复基于域的自动批准
3.8.9
- 小的HTML模板更改
3.8.8
- 添加NodeInfo(2)支持
3.8.7
- 修复设置页面上
webmention_avatars
的默认值
3.8.6
- 修复
webmention_avatars
的默认值
3.8.5
- 为“显示评论表单”设置设置正确的默认值
3.8.4
- 存储vouch属性
- 默认禁用vouch支持。由于Vouch是实验性的,只能通过添加 define( 'WEBMENTION_VOUCH', true ) 来启用
3.8.3
- 将设置中的头像设置为考虑null与yes相同
3.8.2
- 修复PHP问题
3.8.1
- 更新GDPR文本建议
- 修复旧的设置链接
- 使Webmention评论表单文本可定制(#175)
- 更好地处理
wp_add_privacy_policy_content
调用
感谢Sebastian Greger
3.8.0
- 添加GDPR推荐文本
- 实现帮助标签
- 表单改进
- 域名允许列表
- 添加头像设置控件
- 文本改进
感谢Sebastian Greger、David Shanske和Chris Aldrich
3.7.0
- 添加“线程式评论”支持
3.6.0
- 发送删除Webmention
- 接收删除Webmention
3.5.0
- 添加非API调用时更友好的HTML视图
- 添加德语翻译(感谢@deponeWD)
- 确保禁用旧的
webmention-for-comments
插件
3.4.1
- 添加过滤器以允许设置Webmention表单文本
- 由于新默认选项未在仅管理员的情况下设置,将注册设置移动到init
- 由于评论数组过滤,添加
edit_webmention
钩子 - 在编辑评论页面上显示Webmention元数据
3.4.0
- 添加设置链接
- 添加到主页Webmention页面的链接
- 为主页Webmention启用ping
3.3.0
- 添加主页提及设置(感谢 @dshanske)
- 由于4.8版本发布,删除了过时的函数
3.2.1
- 将端点发现移动到functions.php
- 添加缺失的i18n字符串
- 删除polyfill
3.2.0
- 启用页面支持的选项
- 允许自定义帖子类型声明支持Webmention作为功能,这将启用ping。
- 从预处理期间添加新元属性中删除,因为这些属性在语义链接回增强后添加
- 将新元属性移动到构建到Webmention代码中
- 在评论元数据中存储Webmention源,但如果没有设置,则回退到检查
comment_author_url
。 - 在评论元数据中存储Webmention创建时间,因为评论时间被语义链接回覆盖,允许确定评论是否已修改。
3.1.1
- 对源和目标进行URL编码/解码
- Webmention评论类型现在声明支持头像
- 为
webmention_target_url
和webmention_target_fragment
注册元键 - 存储目标URL而不是从固定链接派生,以确保持久性
- 存储目标片段以支持片段。还可以支持当回复是对评论时进行的评论。
3.1.0
- 增加了页面支持(服务器和客户端)
- 将
webmention_post_id
过滤器移动到全局函数中(感谢 @dshanske) - 修复了https://wordpress.org/support/topic/form-for-entering-manual-pings-stays-on/
- 修复了一些错别字
3.0.1
- 再次在每个页面上显示端点发现,以防止出现几个问题。
3.0.0
- 插件重构为使用API基础设施。
- 现在在网页浏览器中访问端点会返回Webmention表单。
- 插件现在符合草稿规范,尽管仍然是同步的。
- 弃用webmention_title和webmention_content过滤器,转而使用单一针对Webmention评论数据的过滤器。
- webmention_post_send动作现在在所有发送Webmention的尝试上触发,而不仅仅是成功的尝试。允许添加日志功能。
- 支持在发送Webmention时添加额外的参数
- 修复与Ultimate Category Excluder插件的兼容性问题。
2.6.0
- 移除了通过get_meta_tags重复请求HTML
- 重构
- 限制为同一域名
2.5.0
- 添加salmon/crossposting-extension支持(感谢 @singpolyma)
- 通过设置禁用自ping
- 不取消已经批准的Webmention的批准(感谢 @singpolyma)
- 一些代码改进
2.4.0
- 切换到WordPress编码标准
2.3.4
- 一些修复和改进
2.3.3
2.3.2
- 为
webmention_post_send
添加了更多参数(感谢 @snarfed) - 移除了Webmentions的重新安排(感谢 @snarfed)
2.3.1
- 如果为帖子禁用了Pingbacks/Webmentions,则使用错误代码403而不是500(感谢 @snarfed)
- 添加了
webmention_comment_parent
过滤器
2.3.0
- 更友好的
title
和content
发现 - 为
webmention_links
过滤器添加了post-id - 改进了
publish_post_hook
函数 - 禁用了洪水控制
- 更友好的响应值
- 一些更多的过滤器/动作
- 添加了一个默认请求"action",以更加灵活,并处理更多在帖子或页面上的提及
- 很多小的修复
2.2.0
- 防止自ping
- 添加了对https和http的支持
- 优化了一些方法
2.1.4
- 修复了伪钩子
2.1.3
- 修复了一些警告
2.1.2
- 现在可以打包使用
2.1.1
- 对Webmention端点提供了更友好的反馈
2.1.0
- 更友好的
title
和content
发现 - 为
webmention_links
过滤器添加了post-id - 改进了
publish_post_hook
函数
2.0.1
- 一些小的修复
- 更友好的摘录提取器
2.0.0
初始发布
安装
遵循安装WordPress插件的正常说明。
自动插件安装
要使用内置插件安装程序添加WordPress插件,请访问添加新插件。
- 转到插件 > 添加新插件。
- 在搜索插件框中输入"
webmention
"。 - 找到您要安装的WordPress插件。
- 点击详情获取有关插件的信息以及您可能希望打印或保存的说明,以帮助设置插件。
- 点击现在安装安装WordPress插件。
- 结果安装屏幕将列出安装成功或安装过程中出现的问题。
- 如果成功,点击激活插件以激活它,或点击返回插件安装程序进行其他操作。
手动插件安装
在某些情况下,手动安装WordPress插件是合适的。
- 如果您想控制WordPress插件的安装位置和过程。
- 如果您的服务器不允许自动安装WordPress插件。
- 如果您想尝试最新开发版本。
手动安装WordPress插件需要熟悉FTP,并且要意识到如果安装与当前版本不兼容或来源不可靠的WordPress插件,可能会使您的网站处于风险之中。
在继续之前,请完全备份您的网站。
要手动安装WordPress插件
- 将您的WordPress插件下载到桌面。
- 从WordPress目录下载
- 从GitHub下载
- 如果下载为zip存档,请将插件文件夹解压到桌面。
- 使用您的FTP程序,将插件文件夹上传到在线WordPress目录中的
wp-content/plugins
文件夹。 - 转到插件屏幕,并在列表中找到新上传的插件。
- 点击激活以激活它。
升级通知
5.0.0
此版本是对代码的完整重写,并将语义链接插件合并在一起。您应该为此升级卸载语义链接插件。请通过GitHub提交升级问题。
警告:在升级之前,请备份您的数据库。此版本更改了Webmentions的存储方式。
3.0.0
此更新使插件符合草案标准。因此,一些过滤器和操作已更改。在更新之前,请检查任何相关代码。
2.0.0
此插件不支持IndieWebCamp Wiki中提到的微表单功能。要启用语义链接,您必须使用https://github.com/pfefferle/wordpress-semantic-linkbacks