WPML

WPML 的黏性链接是页面和文章之间的内部链接,这些链接会跟随其目标,并在目标 URL 发生更改时自动更新。

尽管它们的名称相似(且容易混淆),但它们与 WordPress 置顶文章和页面毫无关系。


让我们从一个例子开始:

假设我们的站点中只有两个页面:一个 Home 页面和一个名为 Space Whiz 的页面(我们最新、最好也是唯一的产品)。在 Home 页面上有一个指向 Space Whiz 的链接。我们使用的是美观的 URL,因此其地址为:

oursite.com/space-whiz/
Space Whiz 表现出色,因此我们正在编写续作:Space Attack。我们创建了一个新的 Products 页面,并将其作为这两个程序的父页面。所以现在,我们拥有:
oursite.com/products/
oursite.com/products/space-attack/
oursite.com/products/space-whiz/
指向 oursite.com/space-whiz/ 的首页链接会发生什么?

它指向了错误的位置。该页面的 URL 变为了 oursite.com/products/space-whiz/(WordPress 会巧妙地重定向到新 URL,但这基于猜测。如果您感兴趣,我可以告诉您更多相关信息)。

如果该首页链接能神奇地更新为正确的 URL,那该多好?

这正是黏性链接的作用。

启用黏性链接后,页面和文章之间的所有内部链接都会在其 URL 发生更改时自动更新。如果页面的 URL(固定链接)发生更改,所有指向它的链接都会立即更新。

这或许能更好地说明这一点。

之前 之后
更改前的黏性链接演示 禁用黏性链接后的演示
之前 之后
更改前的黏性链接演示 启用黏性链接后的演示

您是否曾在 MS Word(或 OpenOffice)中绘制过图形?要连接对象,您可以画线或放置连接符。线只是指向某个地方。连接符则指向对象。当对象移动时,连接符会随之移动。而线只会继续指向对象原来的位置。

WPML 的黏性链接就像连接符。它们会追踪页面的去向并跟随它们,其名称也由此而来。


启用黏性链接后,WPML 会执行两项操作:
  1. 保存文章和页面时,它会将所有 URL 更改为黏性链接。
  2. 显示页面时,它会计算链接的实际 URL。
SitePress 将链接转换为黏性链接
SitePress 将链接转换为黏性链接

当您保存页面或文章时,WPML 会检查指向其他页面或文章的链接。它会将所有此类链接替换为默认样式的链接。它不会保存 <a href="http://oursite.com/space-whiz/">,而是保存 <a href="/zh-hans/?page_id=5">(或任何页面 ID)。这是默认样式的 URL。

然后,在显示页面时,WPML 会将所有链接替换回其当前 URL。当 Space Wiz 的 URL 为 http://oursite.com/space-whiz/ 时,这就是您将得到的链接。当它发生更改时,所有页面中的链接都会立即更新。


WPML 让您可以轻松开始和停止使用黏性链接。黏性链接管理后台屏幕可以扫描所有现有内容,并将普通链接转换为黏性链接。在此过程中,它还会向您发出有关损坏链接的警告,并建议可能的替代方案。

如果您不想再使用黏性链接,可以将其恢复为当前的固定链接。WPML 将遍历数据库中的所有页面和文章,并将链接更改回来。

访客会看到这些吗?


否。这完全是内部的。访客在链接中始终会看到当前的固定链接。黏性链接仅在您编辑页面时可见。此时,您将看到默认的 WordPress 链接,而不是美观的链接。

当访客查看您的页面(或当您预览它们)时,全都是美观的链接。


好问题!很高兴您能提出这个问题。

这正是黏性链接大放异彩的地方。您一天更改十次固定链接结构,也不会出现任何问题。由于页面之间的链接是在显示页面时计算的,因此无论您更改什么,页面和文章之间的所有链接都将始终正确。

有任何反馈吗?


希望这能让您更好地了解 WPML 的黏性链接。您对此有何看法?您觉得这是一个有用的功能吗?对改进有什么想法吗?

觉得有用吗?分享这篇文章: