Tools 是非官方社区Wiki。社区文档正在编写中,欢迎参与。 Wiki编辑答疑群:717421103
版本250722.2
全站通知:

帮助:解析函数/revisionuser

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

REVISIONUSER是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。

REVISIONUSER

获取指最后修订的用户名(B站用户ID)。MediaWiki原生支持。

因为BWIKI与B站账号互通,首次访问某wiki时,系统会自动在对应wiki创建以bid为用户名的用户,因此对于所有BWIKI上的站点,用户的用户名都是bid。 (需要注意,BWIKI职员/管理账号、导入的编辑可能会出现非bid、非数字的用户名)

语法

  • {{REVISIONUSER}}
  • {{REVISIONUSER:页面名}}高开销
    • 页面名(可选):要查询的页面标题。如果省略,则默认为当前页面。

如果页面不存在或无法访问,将返回空字符串;对于被删除的修订或匿名编辑,可能返回空字符串或IP地址

示例

  • {{REVISIONUSER}} → 39886146
  • {{REVISIONUSER:帮助}} → 返回"帮助"页面的最后编辑者
  • {{REVISIONUSER:不存在的页面}} → (空字符串)

底层代码

来自MediaWiki及其扩展的源代码,运行在服务端。此处仅供快速查阅,便于更充分的挖掘其“特性”。

/** mediawiki-1.37.0\includes\parser\CoreParserFunctions.php
 * Get the user from the last revision of a specified page.
 * @param Parser $parser
 * @param string|null $title Title to get the user from
 * @return string
 * @since 1.23
 */
public static function revisionuser( $parser, $title = null ) {
	$t = Title::newFromText( $title );
	if ( $t === null ) {
		return '';
	}
	// fetch revision from cache/database and return the value
	$rev = self::getCachedRevisionObject( $parser, $t, 'vary-user' );
	if ( $rev === null ) {
		return '';
	}
	$user = $rev->getUser();
	return $user ? $user->getName() : '';
}

实际用例

一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时仅供批判性参考