У меня есть сайт со статьями, перечисленными на странице блога, и я хочу иметь пользовательскую ссылку на 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 и отправить по электронной почте статью прямо?
<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>
Вы избежали всего 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>