使WP IndieBlocks、Webmention两插件配合工作

black and gray laptop computer turned on doing computer codes

导入

WordPress上的Webmention插件,可以为站点提供网络提及(webmention)功能。网络提及,是一项接收跨站消息提醒的服务。使用者向本站的网络提及端点发送网络提及(例如回复、转发、点赞鄙站的内容)后,服务器即会收到处理网络提及的请求。鄙站正有使用该服务,读者诸位可以在鄙站的〈隐私政策〉页阅读到相关细节

在Webmention插件的众多功能当中,包括有为站点提供facepile支持——就像曾经的面书那样(后来被面书弃用了)。也就是说,读者朋友们可以在支援长毛象(Mastodon)乃至ActivityPub的阅读器上搜索、阅读、点赞、转发、评论鄙文;然后鄙站可以收到网络提及,并显示参与交互的用户的头像于评论区上方。感兴趣者不妨复制走本文链接一试:

https://sanguok.com/blog/make-wordpress-indieblocks-webmention-two-plug-ins-work-together/

通过这样的方式,WordPress也有办法优雅地加入到万象宇宙(Mastodon network)里去了。

只可惜,Webmention插件的facepile仅在传统主题里工作良好,而在使用古腾堡编辑器的块主题下无法显示。在无法显示的情况下,网络提及就和其他评论一起挤在了评论区里。说实话,有碍观瞻。当然,开发者也意识到了此问题

Webmention插件有一个好,就是会在评论区下方提供一个文本框(正如读者朋友们能够在本文评论区下方看到的那样),允许粘贴在自己的站点或使用的平台所发布交互(引用、评论、介绍等)的链接。链接提交后,经过流程,就会显示于facepile——或者评论区。

而笔者今天要提及的另一插件——IndieBlocks,则是一款易于上手的块主题下IndieWeb解决方案。它也支持网络提及功能,并提供有自己的网络提及终端——意即,不庸安装Webmention插件,也一样享受网络提及功能。

但是笔者既想要IndieBlocks对块主题的网络提及支持,又想要Webmention插件的链接填写栏。既要又要,就得找准合作之道。

正题

关闭重复功能

首先,IndieBlocks的网络提及功能,与Webmention插件本身,二者不建议同时启用,否则会带来一些潜在的钩子调用冲突,以及相同内容的重复传入

如果同时启用两款插件,可以将IndieBlocks的网络提及功能关闭。

然后在Webmention插件下,关闭取消选中)「Display」(显示)下的「Separate Webmention Types from Comments.」(将网络提及从寻常评论中剥离出来)。

传入WordPress的网络提及,在存储上本质也是一种WordPress评论,只不过它们的评论类型是Repost、Like等,而非Comments。(就好像在网络提及概念之前,WordPress也已经有了Comments与Mentions之别。有些主题也就会为Mentions类「评论」做一些外观上的特殊设计。)由于两款插件在facepile显示上的原理,都是根据评论类型,将传入评论区的网络提及从寻常评论中剥离出来(参考IndieBlocks开发者对自家插件原理的说明);所以二者要关闭其一,避免冲突。

在主题中插入facepile块

关闭Webmention插件的剥离功能后,打开当前主题的编辑界面,将IndieBlocks的facepile块插入到想要的位置,例如评论区上方,保存。

就可以看到评论区上方出现了一个展现转发、点赞、书签的栏位。

显示头像

有可能空有栏位,但是并没有头像显示在里面。如果确定这篇网页已经有对应的网络提及的话,那可能是因为对头像缩略图的支持尚未开启。

这时,打开Webmention插件「Avatars」(头像)下的「Show avatars on Webmentions if available.」(显示可用网络提及头像)选项,保存设置,便可以看见头像如预期显示了。

(感谢在解决问题的过程中IndieBlocks开发者Jan Boddez的帮助。)

在〈使WP IndieBlocks、Webmention两插件配合工作〉中有 2 則留言

  1. 真的是很專業啊!

    1. Lu,謝謝您的肯定!