typecho1.2 (18.10.23) 新窗口打开链接

typecho1.2 (18.10.23) 新窗口打开链接

💡 原文中文,约1300字,阅读约需4分钟。
📝

内容提要

本文介绍了在Typecho中实现链接在新窗口打开的两种方法:第一种是修改var/HyperDown.php文件,添加target="_blank"和rel="nofollow"属性;第二种是在主题的functions.php中添加代码,以实现相同效果而不修改系统文件。

🔎

延伸解读

为何推荐方法二

文章明确推荐方法二,主要原因是它不修改系统文件,利于后续升级。方法一需要改动 var/HyperDown.php,该文件属于 Typecho 核心,升级时可能被覆盖,导致修改丢失。方法二将代码放在主题的 functions.php 中,属于主题层定制,升级系统时不受影响,维护更安全。

方法一的具体改动位置

方法一针对的是 var/HyperDown.php 文件,大约在第 507 行的链接解析部分。需要在生成的 a 标签中添加 target="_blank" 和 rel="nofollow" 属性。文章指出,网上旧教程多针对 Typecho 1.1 或更早版本,对 Git 安装的最新版无效,因此需要自行调整。

方法二的实现要点

方法二在主题 functions.php 中新增 parseContent 函数,通过正则替换为所有链接加上 target="_blank" 和 rel="nofollow"。同时还需修改主题的 post.php,将原本的 $this->content() 调用替换为 parseContent($this)。这样既实现了新窗口打开,又避免改动系统文件。

❓

Q&A

如何在Typecho中实现链接在新窗口打开?

可以通过修改var/HyperDown.php文件或在主题的functions.php中添加代码来实现。

修改var/HyperDown.php文件的具体步骤是什么?

在var/HyperDown.php文件中添加target="_blank"和rel="nofollow"属性,通常在第507行进行修改。

在functions.php中添加代码的好处是什么?

这种方法不修改系统文件,便于未来的升级和维护。

在主题的functions.php中需要添加什么代码?

需要添加一个解析内容并替换链接目标和关系属性的函数代码。

为什么要使用rel="nofollow"属性?

使用rel="nofollow"属性可以告诉搜索引擎不跟踪该链接,有助于SEO优化。

Typecho的版本对链接打开方式有影响吗?

是的,旧版本的Typecho可能不支持某些方法,因此需要根据版本进行调整。

🏷️

标签

➡️

继续阅读