我将更改wordpress永久链接,并将301从旧网址重定向到新网址。但问题是如何在URL被更改后保持我的社交分享计数(如facebook,twitter,google +1)。 感谢
答案 0 :(得分:1)
基本上我正在为旧帖子提供旧的固定链接,以及新帖子的当前永久链接。
这是我的代码,如果有帮助的话。
在functions.php中创建一个函数,该函数将为社交按钮提供正确的URL:
// Social URL function
function social_url(){
$PostDate = get_the_date('Y-m-d'); // getting the post's date
$permalink_switch = '2014-02-07'; // change this to the date you changed the permalink
$oldslug = basename(get_permalink()) . '.html'; // generate the old permalink slug here (in my case the permalink had an '.html' at the end. Depending on your perm link settings you might have to add a category, dates,...
if($PostDate < $permalink_switch){ // if the post has been made before your permalink change it serves the old permalink
echo 'http://www.yoursite.com/' . $oldslug;
}else{ // if the post is more recent it will serve the actual permalink
echo the_permalink();
}
一旦你有了这个功能,就可以在你的single.php文件中编辑类似社交的代码,以便为社交按钮的data-url或data-href调用social_url()函数
<强>微博强>
<div class="tw-tweet" id="twitter-full-post"><a href="https://twitter.com/share" class="twitter-share-button" data-url="<?php social_url(); ?>" data-via="heydickface" data-lang="fr">Tweeter</a></div>
Google +
<div class="g-plusone" data-size="medium" data-href="<?php social_url(); ?>"></div>
<强>实强>
作为警告,Facebook似乎不如twitter或谷歌+可靠至少使用此解决方案。有时候它就像魅力一样,有时像是在按钮上点击一下就会掉0,或者从头开始保持0。
<div class="fb-like" data-href="<?php social_url(); ?>" data-width="84" data-height="The pixel height of the plugin" data-colorscheme="light" data-layout="button_count" data-action="like" data-show-faces="false" data-send="false"></div>