使用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:不知道我遇到的问题是不是个例啊?