在更改Wordpress永久链接后保持社交份额

时间:2014-06-25 15:52:25

标签: wordpress

我将更改wordpress永久链接,并将301从旧网址重定向到新网址。但问题是如何在URL被更改后保持我的社交分享计数(如facebook,twitter,google +1)。 感谢

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>