Ви могли помітити, як деякі популярні сайти додають посилання.Читати далі ..." до будь-якого тексту, який ви скопіювали. Це відмінний спосіб отримати нових користувачів. Часто люди копіюють та вставляють тексти з сайту в електронні листи. Деякі використовують це для збереження інформації на майбутнє, тоді як інші просто діляться зі своїми друзями, родиною, колегами.
У цій статті ми покажемо, як легко додати посилання "Читати далі" в будь-який текст, який копіюється з вашого 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');
Тепер, коли хтось зайде на ваш сайт і спробує скопіювати ваш конент, посилання буде включене разом із текстом. Не забудьте змінити текст копірайту та додати туди назву вашого сайту.
Коментарі до запису: 17
У мене чомусь не працює. Підкажіть будь ласка, чим може бути проблема?
Проблема може бути в дужках відкриття/закриття коду php, уважно подивіться, в яку ділянку коду ви вставляєте наведений сніппет, щоб не порушити послідовність включень php
Вставляю в самому кінці functions.php у дужках
WordPresso, наведіть будь ласка приклад свого файлу function.php, бо у мене теж не працює функція.
Код нашого файлу functions.php повністю відповідає тому, що наведено в цьому уроці. Цей трюк спрацьовує лише при спробі копіювання контенту із самого запису, а не з головної сторінки.
у мене також не працює. Вставляю відразу після останнього тексту у файлі function.php до символу ?>
. якщо після нього, то сайт перестає завантажуватися
По-перше, у сніпеті не вистачає теґів через те, що просто скопіювавши його у файл покладемо сайт «на лопатки».
По-друге, у мене також не працює.
П.С. Я не програміст.
Теж не працює.
Перевірив щойно на темі Twenty Eleven – усе працює. Додав код до кінця файлу functions.php. Ось приклад:
Спробуйте копіювати звідти текст запису.
Для мультисайту годиться. Потрібен плагін, щоб активувати його на всю
мережу, незалежно від тим, що у ній використовуються. Чи є такий
плагін? Прошу знаючих дати посилання на нього.
Є більш просте рішення, достатньо додати невеликий скрипт перед тегом, що закривається, і користувач копіюватиме текст з посиланням на сторінку.
не працює. тема Clear Line
Для того, щоб працювало скрізь, виправте перші два рядки сніппета на таке:
function add_copyright_text() {
if (is_single() || is_page() || is_search() || is_archive()) { ?>
Автор забив! За рік не поворухнувся щоб виправити чи пост знести через непотрібність!
зламався сайт( зніс код
У кого є робочий код, поділіться пліз.
Ам та всі норми з кодом, просто не у всіх темах є контейнер entry-content
якщо у вас його немає, то замініть на існуючий клас, який обертає захищений контент. Наприклад wrapper…
але є проблема, як я зрозумів загальний для таких рішень. Скопійований код втрачає форматування, наприклад, абзаци та інше, що є не добре. Без цього хитрощів форматування зберігається нормально. Як думаєте, у чому може бути проблема?