Послать статью друзьям по e-mail из WordPress
Иногда посетители, прочитав статью на вашем сайте, находят её интересной и у них возникает желание поделиться этой статьей со своими друзьями. Сейчас практически на каждом сайте стоят кнопки социальных сетей, позволяющие быстро поделиться интересной ссылкой в социальных сетях. Для увеличения посещаемости Вашего WordPress блога можно использовать приём, который позволит читателям отправлять понравившуюся им статью своим друзьям по электронной почте. Это дополнительно увеличивает число читателей Вашего блога.
Для реализации этой идеи, как правило достаточно добавить соответствующую функцию в файл функций functions.php Вашей темы. Зайдите в каталог Вашей темы и откройте файл functions.php. В этот файл добавьте простой код:
function direct_email($text="Send by email"){
global $post;
$title = htmlspecialchars($post->post_title);
$subject = 'Sur '.htmlspecialchars(get_bloginfo('name')).' : '.$title;
$body = 'I recommend this page : '.$title.'. You can read it on : '.get_permalink($post->ID);
$link = '<a rel="nofollow" href="mailto:?subject='.rawurlencode($subject).'&body='.rawurlencode($body).'" title="'.$text.' : '.$title.'">'.$text.'</a>';
return $link;
}
Для вызова данной функции откройте файл single.php из той же папки и добавьте вызов этой функции в удобное для Вас место
<?php echo direct_email(); ?>
Теперь на странице поста появиться ссылка, нажав на которую, читатели смогут отправить e-mail
Полностью разделяю Ваше мнение. В этом что-то есть и идея отличная, согласен с Вами.
Два дня мучаюсь. Теперь ок, спасибо.
Буду знать, большое спасибо за помощь в этом вопросе.
после установки при нажатии на кнопку Send by email открывается почтовый клиент с абракадаброй вместо руссеих букв в теме и теле письма
@sveta
Проблема в том, что исходный код настроен на кодировку UTF8. Чтобы у Вас отображались русские буквы нужно добавить перекодировку строк, например так:
$text = iconv("utf-8", "windows-1251", $text);
Вот исправленный код целиком:
function direct_email($text="e-mail"){
global $post;
$title = htmlspecialchars($post->post_title);
$subject = ‘Интересная статья ‘.$title.’ на блоге ‘.htmlspecialchars(get_bloginfo(‘name’));
$body = ‘Мне очень понравилась интересная статья на блоге ‘.htmlspecialchars(get_bloginfo(‘name’)).’. Я настоятельно рекомендую прочесть эту статью : ‘.$title.’. Её можно прочитать здесь : ‘.get_permalink($post->ID);
$title = iconv("utf-8", "windows-1251", $title);
$subject = iconv("utf-8", "windows-1251", $subject);
$body = iconv("utf-8", "windows-1251", $body);
$text = iconv("utf-8", "windows-1251", $text);
$link = ‘<a rel="nofollow" href="mailto:?subject=’.rawurlencode($subject).’&body=’.rawurlencode($body).’" title="’.$text.’ : ‘.$title.’">’.$text.’</a>’;
return $link;
}
А статью вместе с комментариями на почту можно также отправлять?
Как раз то что искал. Спасибо за статью.