WordPress 有些主题很好看,但是始终缺乏一个功能,就是让文章在新标签页或者新窗口打开。之前还会自己去看看如何修改主题文件实现这个功能,现在越来越懒了,找找有插件就直接用了。今天分享的就是 WordPress 的一个在新标签页打开链接的插件,叫做 WP External Links,可以非常方便的设置链接如何打开。
一、External Links 插件地址
插件地址如下:
https://wordpress.org/plugins/wp-external-links/
我们也可以直接在 WordPress 网站后台搜索 External Links 然后安装启用。
二、External Links 描述
管理您网站上的所有外部和内部链接。控制图标、nofollow、noopener、ugc(用户生成内容)、赞助以及链接是否在新窗口或新选项卡中打开。
WP Links 插件在 v2 中被完全重建,并具有许多新功能,例如 noopener、ugc 和 rel 的赞助值;字体图标、内部链接选项和完整的 WPMU 支持。
链接扫描仪 – PRO 功能
检查您网站上的每一个链接!查看它是否损坏、是否重定向、目标和 rel 属性是什么以及它到底链接到哪个页面。此功能是 WP Links PRO 插件的一部分。
特征
- 管理外部和内部链接
- 在新窗口或选项卡中打开链接
- 添加关注或不关注(针对 SEO)
- 添加 noopener 和 noreferrer(为了安全)
- 将 ugc (用户生成内容) 和赞助值添加到 rel ( Google 公告)
- 添加链接图标(FontAwesome 和 Dashicons)
- 设置其他属性,如标题和 CSS 类
- 扫描整个页面(或仅扫描帖子、评论、小部件)
- SEO友好
- 链接扫描器 – 检查您网站上的所有链接 – PRO 功能
- 退出确认 – 点击外部链接时保护访客和流量 – PRO 功能
- 链接规则 – 为选定的链接组创建高级链接规则 – PRO 功能
更多内容…
- 网络设置(WPMU 支持)
- 使用模板标签将插件设置应用于特定内容
- 设置数据属性来改变单个链接的处理方式
- 使用内置操作和过滤器来实现您的特定需求
便于使用
激活后,您可以在插件管理页面上设置外部和内部链接的所有选项。
飞行中
该插件会过滤输出并动态更改链接。数据库中的实际内容(帖子、页面、小部件等)不会更改。
停用该插件时,所有内容将与之前相同。
GDPR 兼容性
我们不是律师。请不要将以下任何内容视为法律建议。WP
External Links 不会跟踪、收集或处理任何用户数据。不会记录或推送任何内容给任何第三方。我们也不使用任何第三方服务或 CDN。基于此,我们认为它符合 GDPR 要求,但再次强调,请不要将此视为法律建议。
文档
激活后,您可以设置外部和内部链接的所有选项。
数据属性“data-wpel-link”
此插件处理的链接也将包含数据属性data-wpel-link
。
插件可以将其值设置为external
或,表示如何 处理链接。internal
exclude
您也可以自己设置数据属性。这样您就可以强制插件如何处理
某些链接。
当你添加值时ignore
,该链接将被插件完全忽略:
<a href="http://somedomain.com" data-wpel-link="ignore">Go to somedomain</a>
动作“wpel_link”
应用所有插件设置后,使用此操作来更改链接对象。
add_action( 'wpel_link', ( $link_object ) {
if ( $link_object->is_external() ) {
// get current url
$url = $link_object->getAttribute( 'href' );
// set redirect url
$redirect_url = '//somedom.com?url='. urlencode( $url );
$link_object->setAttribute( 'href', $redirect_url );
}
}, 10, 1 );
链接对象是WPEL_Link
类的一个实例。
动作钩子“wpel_before_apply_link”
使用此操作在插件设置应用于链接之前更改链接对象。
您可以使用此过滤器 fe 忽略单个链接,不进行处理。或者动态更改
此插件处理它们的方式。
add_action( 'wpel_before_apply_link', function ( $link ) {
// ignore links with class "some-cls"
if ( $link->has_attr_value( 'class', 'some-cls' ) ) {
$link->set_ignore();
}
// mark and treat links with class "ext-cls" as external link
if ( $link->has_attr_value( 'class', 'ext-cls' ) ) {
$link->set_external();
}
}, 10 );
过滤钩子“wpel_apply_settings”
当过滤器返回 false 时,插件设置将不被应用。当某些帖子或页面应该被此插件忽略时可以使用。
add_filter( 'wpel_apply_settings', '__return_false' );