Ведение учета социальных акций после изменения постоянных ссылок WordPress

#wordpress

#wordpress

Вопрос:

Я собираюсь изменить постоянные ссылки WordPress и сделаю 301 перенаправление со старого URL на новый. Но проблема в том, как я могу сохранить количество своих социальных сетей (например, facebook, twitter, google 1) после изменения URL-адреса. Спасибо

Ответ №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 файл, чтобы вызвать функцию social_url() для data-url или data-href социальных кнопок

Twitter

 <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

В качестве предупреждения, Facebook кажется менее надежным, чем Twitter или Google , по крайней мере, с этим решением. Иногда это работает как шарм, иногда лайки опускаются на 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>