Keep on going, never give up.

如何使用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>' ); ?>

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

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