天缘博客

日薄风骤艳阳曾,月明今夜诵三经,天缘路上多风雨,地北天南亦有情。

如何使用WordPress Shortlink缩短网址

WordPress the_shortlink是3.0之后引入的新功能,提供URL shortening缩短网址服务,虽然功能比较简单,在使用社交网络或某些缩短网址服务时可能会有用,似乎早期版本也有缩短网址插件可供使用,现在WordPress 3.0上可以直接使用默认的缩短网址,其效果也不比某些缩短网址站提供的地址差,只不过一个是真实shortlink一个虚拟映射shortlink而已。

名词解释:URL shortening,就是缩短网址,把长URL地址转化成短小URL地址,更容易记忆和传播,比如http://www.metsky.com/archives/460.html,(天缘博客的地址还算短的了),可以转化成http://www.metsky.com/460等形式,这样就会短很多,也容易记忆,也有专门提供缩略网址服务的站点,相当于把你长URL地址在他们数据库里加个映射。

一、如何查看Shortlink缩短网址

在编辑文章时会出现Get Shortlink按钮,可以查看到当前文章的短链接。WordPress默认在新添加模式下没有出现,只在编辑模式下才会出现,因为发布之前该记录还没有正式保存进数据库(不算自动保存auto-draft),没有确定的ID编号,这个编号正是shortlink中的默认参数。

以上Shortlink无法直接手动修改掉,看源代码,似乎只有通过过滤函数(或插件)进行处理,具体参见wp-includes\link-template中的wp_get_shortlink函数说明(pre_get_shortlink),如果没有过滤器,默认就是拼接成?p=id形式。

二、默认生成shortlink形式

启用shortlink后,正式发布的文章代码中都会带上这么一条

其中<link rel='shortlink' href='http://localhost/?p=1234' />其实就是文章缩短网址,前面的canonical是为防止重复收录声明,出现shortlink还有个前提就是要启用固定链接地址,否则可能两个地址是相同(实际不会生成)。

三、如何启用和禁用shortlink

1、如何启用这个shortlink编辑功能

在文件wp-admin\edit-form-advanced.php中 有这么一句:

$shortlink = wp_get_shortlink($post->ID, 'post');

if ( !empty($shortlink) )

$sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button" onclick="prompt(&#39;URL:&#39;, jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>';

就是显示按钮语句。 wp_get_shortlink函数声明在wp-includes/link-template.php中。

2、如何在文章页面启用shortlink功能

在主题functions.php中增加:

add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

该功能在WordPress 3.0中已经默认开启,在default-filter.php中,该函数用来在header中生成<link rel='shortlink' href='http://localhost/?p=1234' />这样的缩短网址。

3、如何禁用shortlink功能

在主题functions.php中增加:

remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );

以上的启用和禁用在WordPress 3.0之后版本会自动生效的。

4、如何需要手动调用日志展示页的shortlink

请使用以下函数:

<?php the_shortlink( $text, $title, $before, $after ); ?>,如果要兼容早期WordPress版本,就加上function_exists('the_shortlink') )判断。

四个参数(WordPress官方参考):

text——显示文本,默认是“This is the short link.”

title——提示文本,默认是该日志标题

before——为链接地址前增加文本或HTML标记,该参数及下面的after参数一般是用来为缩短网址风格化使用。

after——为链接地址后增加文本或HTML标记

比如,想输出:

<ul><li><a rel="shortlink" href="http://localhost/?p=14" title="I am ShortLink">Visit to ShortLink</a></li></ul>

则使用如下调用:

<?php the_shortlink( 'Visit to ShortLink', 'I am ShortLink', '<ul><li>', '</li></ul>' ); ?>

天缘网友 [天缘]: 2012-01-07 23:15:21 发表
@sola:直接在后台调整网址格式,如果现成的几个参数不能实现,直接修改WP的源码。
天缘网友 [sola]: 2011-11-28 05:25:38 发表
你好,
我想通过wordpress the_shortlink()函数显示短链接,在不使用第三方插件的情况下有没有可能做到下面这样
文章的id是190,permalink设置为/%postname%/
短链接显示成http://yoursitge.com/190/并且301定向到http://yoursite.com/the-post-name/
谢谢!
天缘网友 [maomao]: 2011-03-16 01:45:51 发表
http://j.mp/ehskI2
这就是我用短连接工具,生成的短链接
天缘网友 [天缘]: 2010-12-17 08:23:11 发表
@软件:就是看起来“美”一点
@Ebo:注意重复网址唯一声明
天缘网友 [lionshuang]: 2010-12-17 08:04:33 发表
太棒了!通过你的文章,我在博客上添加了短链接,多谢!
天缘网友 [国庆400电话]: 2010-09-20 16:59:39 发表
对于我来说,这个插件没用
天缘网友 [皱纹88]: 2010-09-10 13:18:21 发表
不是我想要的?请问有没有可以把文章中地址缩短的工具,我加了淘宝上的商品,结果主页是隔日快照内页不收,郁闷的。
天缘网友 [Ebo]: 2010-06-25 18:23:23 发表
这个有用,偶想将下面的转载提醒设置成短网址
天缘网友 [haibor]: 2010-06-24 16:10:33 发表
也郁闷,会有不少的重复内容吧!
天缘网友 []: 2010-06-23 13:34:46 发表
挺好的 呵呵
天缘网友 [软件]: 2010-06-22 18:00:46 发表
缩短网址有什么用呢???

发表评论:

◎欢迎参与讨论,所有评论皆需审核,非法及及未经许可的广告信息不是勤劳致富的法宝,请勿发表。

订阅博客

最近发表

标签云

快速通道

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2011 Metsky.com, All rights Reserved.