#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 социальных кнопок
<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>
<div class="g-plusone" data-size="medium" data-href="<?php social_url(); ?>"></div>
В качестве предупреждения, 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>