更改IndieBlocks札记(note)、喜欢(like)slug之方法

heart and zero neon light signage

插件简介

IndieBlocks是一款易于入门的IndieWeb插件,通过该插件可以很简单地令自己的WordPress站点支援IndieWeb功能,简单来说就是让自己的站点成为一个小小的社交媒体终端。

该插件提供了几种「块」(block,WordPress古腾堡编辑器的一个基本编辑单位),包括:

  • 书签
  • 喜欢(点赞)
  • 回复
  • 转发

等。可以向这些块输入URL,并得到相应的微格式HTML(microformatted HTML)输出。

结合与微格式兼容的主题(theme),支援微格式的客户端(microformats clients)便能够确定帖文(post)的类型(普通的推文,抑或是回复、转发等)。

上述的内容,很明显都是微博客服务会提供的功能。那么如果有将这类微博客性质的内容,与站点旧有的(严肃的)长文分开之需要,该插件恰好就还提供了一种专属于微博客性质内容的自定义帖文类型(post type)——札记(notes)与喜欢(likes,亦可理解为点赞),这也就是本文所涉及的内容了。

这些微格式与Webmention协议相结合的话,可实现丰富的跨站点对话。IndieBlocks带有自己的Webmention实现,但也可以使用单独的插件。

正文

帖文类型「札记」(note)的默认slug为notes,「喜欢」(like)为likes。例如,鄙站的一则札记URL如下:

https://sanguok.com/microblog/21d198c476/

其中microblog就是该札记类型的slug。或许有读者注意到了:你这个microblog,跟我的notes,这俩slug怎么不一样呢?这是因为笔者修改了默认的slug。

实现代码

官方文档中,有提供修改默认slug的方式。在functions.php中加入代码:

add_action( 'register_post_type_args', function( $args, $post_type ) {
  if ( 'indieblocks_note' === $post_type ){
    $args['rewrite']['slug'] = 'microblog'; // 新slug
  }

  return $args;
}, 99, 2 );

其中,indieblocks_note是帖文类型「札记」(note)的类型名。该段代码即将札记的slug改写(rewrite)为microblog

(如果访问WordPress站点的数据库,那么存放站点帖文的wp_posts(或者wp_站点编号_posts,例如wp_10_posts)表格中,post_type一栏下面就会呈现postattachmentrevision等等名称,这些名称都是各自的「帖文类型名」。关于帖文类型的更多详情,请阅读WordPress.org官方文档。)

同理,如果想将喜欢(like)的默认slug likes改为stars,则:

add_action( 'register_post_type_args', function( $args, $post_type ) {
  if ( 'indieblocks_like' === $post_type ){
    $args['rewrite']['slug'] = 'stars'; // 新slug
  }

  return $args;
}, 99, 2 );

indieblocks_like即帖文类型名。

将喜欢/点赞譬喻为分发小星星,倒也蛮风雅的。

修改方式

上述对functions.php代码的修改,建议通过新设子主题来实现。这样做的好处是,避免主题更新后所有对functions.php代码的修改都被覆盖。

还可以通过Code Snippets插件来插入上述代码,这样做的好处是免去新设子主题之烦劳,还可以在网页前端(相对去后端直接修改functions.php来说)完成全部工作。

刷新缓存

插件官方文档里没提及的,还有代码使用后旧链接不更新的可能性。可能有些读者朋友的站点里已经有了存量札记或喜欢,上述修改执行后,存量内容的URL并没有跟着一起变。这时可以考虑:

只要点击最下方的「保存更改」就行,在本页面其他什么也不用多做
  1. 转到 WordPress 管理面板中的「设置」>「固定链接」,然后单击「保存更改」按钮来刷新固定链接结构。
  2. 如果您的网站使用了缓存插件,清除缓存。

然后,便可以发现URL全部更新了。

笔者的情况是,站点内并未安装缓存插件,所以在第1步骤即解决了问题。但是如果有安装缓存插件的话,其可能性也是可以想见的。

Likes, Bookmarks, and Reposts

在〈更改IndieBlocks札记(note)、喜欢(like)slug之方法〉中有 12 則留言

  1. 测试一下评论的邮件通知

    1. 我試着回覆一下這則試試,如果還是沒有郵件通知我再檢討換一個插件看看(我也沒收到郵件提示)

    2. 我配置了一个新的邮件网关,测试回复

      1. 都没有收到(摊手

        1. 那真是奇怪了。我目前在調試本站的重定向連結,之後迴轉頭來看看這個郵件問題

  2. WordPress 的插件真的很多,用起来很便利!

    1. 是啊,WordPress了不起的一點是20年來組成了一個很豐饒的生態。

      1. 不知道是否有通过邮件提醒评论回复的插件,因为我总不知道你回复我了,回头也忘了先前评论的文章是哪一个,就找不到了

        1. 以前Jetpack有個郵件提醒插件,但是是文章發佈/評論回覆一條龍的,不能拆分。我站點其實有很多microblog性質的內容,如果全部都郵件推送也太擾民了。

          不過現在找到了Comment Reply Email Notification,專門做評論回覆電郵通知的。茲測試,不知道你那邊能不能收到郵件回覆呢?

          1. 未收到邮件的通知,是不是要在新评论上才有效呢,让我新开一个评论试试

            1. 我試着回覆一下這則試試,如果還是沒有郵件通知我再檢討換一個插件看看

  3. IndieBlocks是一款易于入门的IndieWeb插件,通过该插件可以很简单地让自己的站点成为一个小小的社交媒体终端。本文介绍修改其note、like slug的方法,帮助读者客制化自己的社交媒体终端。

%d 位部落客按了讚: