Flector

Как добавить в копируемый текст ссылку на запись?

Добавленная к скопированному тексту ссылка

Люди часто копируют текст статей различных сайтов, делясь им на форумах, блогах, комментариях и т.д. Но при этом они очень редко добавляют к скопированному тексту ссылку на оригинальную статью. Одним это делать лениво, другие просто забывают. Данную ситуацию можно поправить, автоматически присоединив к скопированному тексту ссылку на оригинальную статью. Конечно, никто потом не мешает ее удалить, но опять же - люди ленивы и редактировать вставленный текст не хотят. Добавьте в файл functions.php вашей темы следующий код:

//добавление ссылки при копирование текста записи start 
function wph_add_copy_link() {
    if (is_single()) { ?>
 
<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 /> Подробнее на <?php echo get_bloginfo('name'); ?>: <?php echo get_the_permalink(); ?>"; 
    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', 'wph_add_copy_link');
//добавление ссылки при копирование текста записи end

Автоматическая вставка ссылки на статью будет работать только на страницах одиночных записей (вы это можете поправить в коде).


Комментарии (3 комментария)
  1. Константин:

    Автоматическая вставка ссылки на статью будет работать только на страницах одиночных записей (вы это можете поправить в коде).

    А как именно изменить код, чтобы ссылка прикреплялась не только к тексту скопированному в записях, но и на статических страницах?

    • Flector:

      поменять код:

      if (is_single()) { ?>

      на

      if (is_singular()) { ?>

      при желании можно укать нужные типы записей.

  2. Редко пишу отзывы на статьи , но сейчас не удержалась! Хочу поблагодарить Вас за сайт. Взяла несколько кодов по rss сайта, все работают, этот код также рабочий, что редко встретишь в интернете, чаще всего если выложат какой-то код, то он либо с ошибками , либо не полностью. А у вас коды рабочие. Пороюсь еще по сайту - может еще что-то полезное найду.

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!