Код для обмена контентом сайта в социальных сетях

0

У меня есть сайт со статьями, перечисленными на странице блога, и я хочу иметь пользовательскую ссылку на Facebook, Tweet This & Email, назначенную для каждой статьи. Вот код для ссылки Twitter:

<a href=\"https://twitter.com/share\" data-url=\"http://www.mywebsite.co.uk?article=$article_id\"><div class=\"shareCell shareTwitter\"></div></a>

Проблема в том, что когда я нажимаю на твит-образ, он пытается разделить главную страницу блога, а не соответствующую статью. Любые идеи, почему и как их сортировать.

Кроме того, как можно сделать то же самое для Facebook и отправить по электронной почте статью прямо?

Теги:
facebook
twitter
social-networking

2 ответа

0

<script>
function fb_share(url)
{
var url = 'http://www.facebook.com/sharer.php?u=' +encodeURIComponent('<?php echo full_path();?>'+url);
window.open(url, 'Share on FaceBook', 'left=20,top=20,width=550,height=400,toolbar=0,menubar=0,scrollbars=0,location=0,resizable=1');
return false;
}
</script>
//first upon put this given below php code in ur header or top of the page.

<?php
function full_path()
{
    $s = &$_SERVER;
    $ssl = (!empty($s['HTTPS']) && $s['HTTPS'] == 'on') ? true:false;
    $sp = strtolower($s['SERVER_PROTOCOL']);
    $protocol = substr($sp, 0, strpos($sp, '/')) . (($ssl) ? 's' : '');
    $port = $s['SERVER_PORT'];
    $port = ((!$ssl && $port=='80') || ($ssl && $port=='443')) ? '' : ':'.$port;
    $host = isset($s['HTTP_X_FORWARDED_HOST']) ? $s['HTTP_X_FORWARDED_HOST'] : (isset($s['HTTP_HOST']) ? $s['HTTP_HOST'] : null);
    $host = isset($host) ? $host : $s['SERVER_NAME'] . $port;
    $uri = $protocol . '://' . $host . $s['REQUEST_URI'];
    $segments = explode('?', $uri, 2);
    $url = $segments[0];
    return $url;
}

?>

// This is the part of HTML Portion that you need to be included in your article section

<a href="javascript:fb_share('?article=1')">Share this on Facebook</a>
0

Вы избежали всего html, я подозреваю, что вы используете php.

<a href=\"https://twitter.com/share\" data-url=\"http://www.mywebsite.co.uk?article=$article_id\"><div class=\"shareCell shareTwitter\"></div></a>

должно быть:

<a href=\"https://twitter.com/share\" data-url=\"http://www.mywebsite.co.uk?article=" . $article_id . "\"><div class=\"shareCell shareTwitter\"></div></a>

$ article_id - это переменная из php

для facebook существует очень похожий подход: https://developers.facebook.com/docs/plugins/share-button/

и для отправки писем:

<a href="mailto:[email protected]?subject=encodeURIComponent('Check out the blogpost http://www.mywebsite.co.uk?article=" . $article_id . "');">Send in email</a>
  • 0
    Спасибо, но это все еще показывает URL для главной страницы ( mysite.co.uk/blog.php ), а не статьи ( mysite.co.uk/article.php?article=1 )
  • 0
    Тогда, кажется, что-то еще является проблемой в вашем коде. Потому что, если article.php перенаправляет вас на blog.php, то должна быть какая-то обработка ошибок в коде, который это делает, или фильтр перезаписи URL или что-то подобное.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню