Вы могли заметить, как некоторые популярные сайты (например, eHow) добавляют ссылку "Читать далее..." к любому тексту, который вы скопировали. Это отличный способ получить новых пользователей. Часто люди копируют и вставляют тексты с сайта в электронные письма. Некоторые используют это для сохранения информации на будущее, тогда как другие просто делятся со своими друзьями, семьей, коллегами.

В этой статье мы покажем, как можно легко добавить ссылку "Читать далее" в любой текст, который копируется с вашего WordPress сайта, для получения дополнительного трафика.

Первое, что вам нужно сделать — скопировать следующий код в файл functions.php вашей темы:

function add_copyright_text() {
	if (is_single() || is_page() || is_search() || is_archive()) { ?>

<script type='text/javascript'>
function addLink() {
	if (
window.getSelection().containsNode(
document.getElementsByClassName('entry-content')[0], true)) {
    var body_element = document.getElementsByTagName('body')[0];
    var selection;
    selection = window.getSelection();
	var oldselection = selection
    var pagelink = "<br /><br /> Читать далее на WordPresso.org: <?php the_title(); ?> <a href='<?php echo wp_get_shortlink(get_the_ID()); ?>'><?php echo wp_get_shortlink(get_the_ID()); ?></a>"; //Измените на свое усмотрение
    var copy_text = selection + pagelink;
    var new_div = document.createElement('div');
	new_div.style.left='-99999px';
	new_div.style.position='absolute';

    body_element.appendChild(new_div );
    new_div.innerHTML = copy_text ;
    selection.selectAllChildren(new_div );
    window.setTimeout(function() {
        body_element.removeChild(new_div );
    },0);
}
}

document.oncopy = addLink;
</script>

<?php
}
}

add_action( 'wp_head', 'add_copyright_text');

Теперь, когда кто-то зайдет на ваш сайт и попробует скопировать ваш конент, ссылка будет включена вместе с текстом. Не забудьте сменить текст копирайта и добавить туда название вашего сайта.

Источник: WPBeginner

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

17 комментариев

сначала новые
по рейтингу сначала новые по хронологии
Госпадеее

Ам да все норм с кодом, просто не во всех темах есть контейнер entry-content
если у вас его нет то замените на существующий класс который оборачивает защищенный контент. Например wrapper...

но есть проблема, как я понял общая для таких решений. Скопированный код теряет форматирование, например абзацы и прочее, что есть не хорошо. Без данного ухищрения форматирование сохраняется нормально. Как думаете в чем может быть проблема?

Реальная Украина

У кого есть рабочий код, поделитесь плиз.

Максим Корольов

поломался сайт( снес код

Автор забил! За год непошевилился чтоб исправить или пост снести за ненадобностью!

Для того, чтобы работало везде, исправьте первые две строчки сниппета на вот такое:
function add_copyright_text() {
if (is_single() || is_page() || is_search() || is_archive()) { ?>

не працює. тема Clear Line

Есть более простое решение, достаточно добавить небольшой скрипт перед закрывающимся тегом и пользователь будет копировать текст с ссылкой на страницу.
http://artsn.ru/js/add_copyright_text.txt

Для мультисайта не годится. Нужен плагин, чтобы активировать его на всю
сеть, не зависимо от тем, которые в ней используются. Есть ли такой
плагин? Прошу знающих дать ссылку на него.

Проверил только что на теме Twenty Eleven - все работает. Добавил код в конец файла functions.php. Вот пример:
http://demo.wordpresso.org/privet-mir/
Попробуйте скопировать оттуда текст записи.

Тоже не работает...

У меня почему-то не работает. Подскажите, пожалуйста, чем может быть проблема?

Проблема может быть в скобках открытия/закрытия кода php, посмотрите внимательно, в какой участок кода вы вставляете приведенный сниппет, чтобы не нарушить последовательность включений php

По-перше, у сніпеті не вистачає теґів через, що просто скопіювавши його у файл покладемо сайт «на лопатки».
По-друге, у мене теж не працює.
П.С. Я не програміст.

Вставляю в самом конце functions.php в скобках

Wordpresso, приведите пожалуйста пример своего файла function.php ибо у меня тоже не работает функция.

Код в нашем файле functions.php полностью соответствует тому, что приведен в этом уроке. Этот трюк срабатывает только при попытке копирования контента из самой записи, а не с главной страницы. http://demo.wordpresso.org/privet-mir/

у меня тоже не работает. Вставляю сразу же после последнего текста в файле function.php до символа ?>
. если после него, то сайт перестает грузиться