Больше результатов...

Generic selectors
Только точные совпадения
Искать в заголовках
Искать в контенте
Post Type Selectors
Filter by Categories
FAQ
Hostenko
Вдохновение
Видеоуроки
Новости
Плагины
Темы
Уроки
Хаки

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

В этой статье мы покажем, как можно легко добавить ссылку "Читать далее" в любой текст, который копируется с вашего 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
редактор wpcafe
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/

Комментарии к записи: 17

kosyak:

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

WordPresso:

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

kosyak:

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

Ni_konus:

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

WordPresso:

Код в нашем файле functions.php полностью соответствует тому, что приведен в этом уроке. Этот трюк срабатывает только при попытке копирования контента из самой записи, а не с главной страницы.

Nu-cle:

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

Сашко Бублієнко:

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

Alexey Shevchenko:

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

WordPresso:

Проверил только что на теме Twenty Eleven — все работает. Добавил код в конец файла functions.php. Вот пример:

Попробуйте скопировать оттуда текст записи.

Vladimir Kotok:

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

Temp:

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

asolomin:

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

Punkie:

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

Юрий:

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

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

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

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

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

Госпадеее:

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

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

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