解决Twitter tools 中文链接问题

使用Twitter tools 插件,可以将最新的Post发送到Twitter上,确实很方便。由于我的永久链接(permalink)格式为

/archives/%postname%.html

文章链接中含有文章标题,当标题为中文的时候不太美观,所以用cos_slug_translator这个插件将中文标题转换为英文。但是我用Twitter Tools的时候就出现了问题:发送到Twitter上的链接依然含有中文,访问的话就是404错误。

初步判断应该是Twitter tools插件先于cos_slug_translator运行了。于是修改了一下twitter-tools.php文件,将问题解决:

1. 在twitter-tools.php文件开头添加:

require_once (ABSPATH."wp-content/plugins/cos_slug_translator.php");

一定要将双引号内的路径修改为你的cos_slug_translator路径。

2.找到twitter-tools.php文件512行左右:

$url = apply_filters('tweet_blog_post_url', get_permalink($post_id));

将其注释掉,并在下面添加或修改:

1
2
3
4
5
6
7
$tweet = new aktt_tweet;
//$url = apply_filters('tweet_blog_post_url', get_permalink($post_id));
$tit_o = cos_tranlate(@html_entity_decode($post->post_title, ENT_COMPAT, 'UTF-8'));
$url_o = site_url('/archives/').sanitize_title($tit_o).'.html';
$url = apply_filters('tweet_blog_post_url', $url_o);
$tweet->tw_text = sprintf(__($this->tweet_format, 'twitter-tools'), @html_entity_decode($post->post_title, ENT_COMPAT, 'UTF-8'), $url);
$tweet = apply_filters('aktt_do_blog_post_tweet', $tweet, $post); // return false here to not tweet

注意第三和第四行是添加的,第五行要修改。

注意第四行的永久链接格式,如果和我的相同,不用修改,如果你的永久链接格式为:

/yourfolder/%postname%.html

/yourfolder/%postname%/

请将第四行代码修改为:

$url_o = site_url('/yourfolder/').sanitize_title($tit_o).'.html';

$url_o = site_url('/yourfolder/').sanitize_title($tit_o).'/';

最后将twitter-tools.php文件上传并覆盖即可。

Ps:不知道我遇到的问题是不是个例啊?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据