Probabil ați observat cum unele site-uri populare (cum ar fi eHow etc.) atașează un link „citește mai mult” la orice text copiat de pe site-ul lor. Acesta este un mod excelent de a atrage utilizatori noi. Adesea, oamenii copiază și lipesc text de pe site-uri web în e-mailuri. Unii îl folosesc pentru a salva informațiile pentru viitor, în timp ce alții pur și simplu îl partajează cu prietenii, familia și colegii lor. În acest articol vă vom arăta cum puteți adăuga cu ușurință un link „citește mai mult” la orice text copiat de pe blogul dvs. WordPress, astfel încât să puteți obține trafic suplimentar.
Notă: Pentru a vedea acest lucru în acțiune, copiați orice element de pe acest post și lipiți-l în e-mailul sau notepadul dvs.
Primul lucru pe care trebuie să-l faci este să copiezi următorul cod în fișierul functions.php al temei tale sau într-un plugin specific site-ului:
function add_copyright_text() {
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 /> Read more at WPBeginner: <?php the_title(); ?> <a href='<?php echo wp_get_shortlink(get_the_ID()); ?>'><?php echo wp_get_shortlink(get_the_ID()); ?></a>"; //Change this if you like
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');
Acum, ori de câte ori cineva vine pe site-ul dvs. și încearcă să vă copieze conținutul, va fi inclus un link „citește mai mult” împreună cu acesta. Nu uitați să schimbați textul de copyright și să adăugați acolo titlul propriului site.
Editare: Inițial preluam URL-ul ferestrei, dar așa cum a subliniat unul dintre utilizatorii noștri, făcea ca URL-urile să arate neîndemânatic. Am actualizat codul pentru a-l afișa doar pe paginile de postări individuale și pentru a folosi wp_shortlink. Deci ar folosi ceva de genul: yoursite.com/?p=23. Dacă folosești un URL scurt personalizat așa cum facem noi: wpbeg.in, atunci va afișa URL-ul scurt de marcă.

Bee
Salut,
acest cod nu pare să funcționeze, nici pe site-ul dvs. aici, nici pe site-ul meu folosind fragmentul dvs. (WP 6.2). Ați putea verifica acest lucru, vă rog? Mulțumesc.
Suport WPBeginner
Codul încă funcționează pentru noi, am recomanda să încercați să dezactivați orice plugin-uri și/sau să folosiți un browser incognito pentru a preveni ca extensiile să vadă dacă una ar putea cauza un conflict.
Admin
Edward Elric
Mai funcționează în 2020 cu cea mai recentă versiune de Wordpress?
Suport WPBeginner
Dacă nu auzim altfel, codul ar trebui să funcționeze în continuare atunci când este adăugat pe site-ul dvs.
Admin
Junuk
Salut, Mulțumesc pentru informațiile bune!
Am aplicat codul pe care mi l-ați spus cu pluginul Bitly pe site-ul meu, dar funcționează uneori și alteori nu.
Acest cod are legătură cu plugin-ul Cache? Îmi puteți spune unde pe site-ul meu ar trebui să mă uit?
Suport WPBeginner
Dacă ai activat un plugin de caching, probabil va trebui să ștergi tot cache-ul de pe site-ul tău pentru ca acesta să se actualizeze corect. Pentru ștergerea cache-ului, poți consulta ghidul nostru aici: https://www.wpbeginner.com/beginners-guide/how-to-clear-your-cache-in-wordpress/
Admin
Pierre
Salut,
Mulțumesc, funcționează bine pe articole în 2019, dar este posibil să îl facem să funcționeze pe tipuri de postări personalizate?
Am Eventon și WP News și Scrolling Widgets.
Suport WPBeginner
Va trebui să modificați is_single în is_singular și să adăugați numele tipului dvs. de postare personalizat
Admin
Will
Aveți vreun sfat despre cum să adăugați parametri de urmărire Google la sfârșitul fiecărui URL? Având în vedere că folosiți deja ?p= pentru numele postării la sfârșit.
Akash
Există o modalitate ușoară de a face să funcționeze și pe categorii?
Jasmine
Mulțumesc pentru asta, funcționează excelent pentru postări, dar când textul este copiat din evenimente, nu preia URL-ul paginii – aveți vreun sfat? Mulțumesc.
Michele
Acest lucru este grozav. Mulțumesc. Când spune class – entry content, asta însemna că nu a funcționat pentru aproximativ 90% din textul de pe site-ul meu, deoarece textul meu nu folosea acel nume de clasă. Deci, dacă oricine altcineva întâmpină această problemă, puteți schimba „entry content” cu „body”. Asta am făcut.
var body_element = document.getElementsByTagName(‘body’)[0]; (linia 13)
Acum funcționează peste tot.
Meenu
Cum pot limita conținutul?
Dave
Vă mulțumesc foarte mult, toate formatările textului au fost schimbate și lipite ca o singură linie. Dar am nevoie de formatarea textului așa cum este. Vă rog să mă ajutați să obțin asta.
Ark
La fel și aici, toate rândurile noi lipsesc după lipire.
Jens | Sir Apfelot
Damn… I am stupid… I added it to the themes custom JS… thats not working.
Jens | Sir Apfelot
Tocmai am adăugat scriptul pe blogul meu de WordPress, dar nu primesc un apendice la sfârșitul clipboard-ului...
Any ideas? I am not sure, if its because I am working on a mac… but I guess the javascript should work on Firefox on a mac too…
Yash Jhade
La lipirea în blogger, apare următoarea eroare
Eroare la parsarea XML, linia 2237, coloana 96: Valoarea atributului „href” asociat cu un tip de element „a” nu trebuie să conțină caracterul „<”.
Orice soluții?
Mulțumesc.
matt
această funcționalitate face copierea și lipirea mai frustrante. De exemplu, dacă copiez și lipesc un titlu pentru a edita Wikipedia, poate strica formatarea dacă nu sunt atent și necesită muncă suplimentară.
Anon
Ca utilizator, nu suport asta. Vă rog să nu adăugați asta.
Alan
Știe cineva cum să păstrezi formatul?
Când folosesc acest plugin, toate spațiile, pauzele de rând și formatarea dispar.
Philip-Daniel Kleudgen
Funcționează perfect! Singurul lucru pe care mi-aș dori să-l facă este să limiteze cantitatea de text copiat la, de exemplu, 150 de cuvinte sau ceva de genul acesta.
Salud Casera
Nu mai funcționează pentru mine.
Funcționa înainte, dar cred că are mai mult de-a face cu tema decât cu versiunea WP
Alyson
Din păcate, codul nu funcționează cu WP 3.8
L-am testat pe o instalare nouă. Vă rugăm să confirmați acest lucru. Aveți planuri să actualizați codul pentru a-l face să funcționeze?
Suport WPBeginner
Tocmai l-am testat cu o instalare WP 3.8 proaspătă și funcționează perfect pe partea noastră.
Admin
Erik
Nici eu nu pot face să funcționeze.
Roselle
Salut,
La început, nu am reușit să fac asta să funcționeze. Dar la o examinare atentă, am descoperit vinovatul:
Pe linia 8 a codului, veți vedea acest lucru:
document.getElementsByClassName(‘entry-content’)[0], true))
Aceasta este linia care îi spune codului: „hei, dacă cineva copiază text din text cu acest nume de clasă, atunci adaugă un link de tipul citește mai mult”
Tot ce trebuie să faci este să folosești Firebug pentru a afla sub ce nume de clasă se află conținutul postării tale.
Am un temă copil pe care am editat-o de nenumărate ori, așa că a mea nu a fost cea implicită, „entry-content”. Suspectez că numele clasei dvs. este diferit de acesta.
Noroc,
Roselle
Salud Casera
Care sunt pașii de urmat cu Firebug pentru a afla numele clasei postării?
Gabriel
Salut,
Mulțumesc mult pentru acest articol grozav, dar am o problemă. Aș dori să obțin permalink-ul și nu link-ul scurtat. Poate cineva să-mi spună cum pot face asta?
Noroc
Personal editorial
Înlocuiți
echo wp_get_shortlink(get_the_ID());cuthe_permalink();Admin
Gretchen Louise
Există o modalitate ușoară de a face să funcționeze și pe pagini individuale?
Personal editorial
Da. Schimbați linia 2 codul din:
if (is_single()) la if (is_singular())
Admin
Gretchen Louise
Mulțumesc! Asta funcționează, cu excepția faptului că nu preia un link pentru pagini... doar pentru postări.
Personal editorial
Asta e ciudat. get_the_id ar trebui să funcționeze atât pentru pagini, cât și pentru postări.
Gretchen Louise
Îl am funcțional pe KindredGrace . com, dar nu preia ID-ul pentru pagini, doar pentru postări.
Personal editorial
Încearcă să adaugi variabila globală. Deoarece get_the_id funcționează pentru postări și paginile sunt, de asemenea, un „tip de postare”
Gretchen Louise
Am încercat așa și tot nu am reușit să obțin link-ul scurt pentru pagini:
// Adaugă textul drepturilor de autor
function add_copyright_text() {
global $post; { ?>
Brian York
Această modificare a funcționat pentru mine. Totuși, verificați cu atenție dacă aveți conținutul sub 'entry-content', altfel schimbați asta (F12 în Chrome). Mulțumesc WPBeginner!!
Brian York
De fapt, acest lucru nu funcționează corect. Nu funcționează deloc în IE și, indiferent ce fac, nu copiază partea HTML, ci o convertește mereu în text simplu, deci nu va face niciodată un link.
alan
Am aceeași problemă, elimină tot formatul, știe cineva o soluție pentru asta?
VIVROCKS
Truc grozav. Există și un plugin pentru asta: http://wordpress.org/extend/plugins/read-more-copy-link/
Collin Weeks
Îmi place site-ul tău! Mulțumesc că ți-ai făcut timp să împărtășești cu toată lumea.
Mairaj Pirzada
Frumos, postare, dar nu-mi plac niciodată codurile, mă încurcă!
Helder
Nu funcționează, chiar și cu conținutul wpbeginner.com
Personal editorial
Am eliminat codul de pe site-ul nostru. Unii utilizatori s-au plâns că l-au găsit deranjant.
Admin
Rafiul Islam
WOW… Mulțumesc mult, mult pentru că ați distribuit, suferind din cauza asta…
Mulțumesc din nou.
Lorenzo Solís
Știe cineva cum să nu afișeze „Linkul Citește mai mult” atunci când titlul postării este copiat?
Mulțumesc!
Personal editorial
Da, este posibil. Schimbați tag-ul selector din body într-un ID de div sau altceva. Am introdus cererea. Dezvoltatorii noștri mă vor anunța, astfel încât să pot actualiza articolul.
Admin
Lorenzo Solís
Mulțumesc. Tocmai am încercat cu var div = document.getElementById(‘copyright’); pe linia numărul 6 și adăugând de id=”copyright” la conținutul div, dar obțin același rezultat ca și cu codul tău. Scuze, nu sunt programator.
Personal editorial
Verificați codul acum. Ar trebui să funcționeze.
Paul
Mulțumesc, asta pare interesant, voi încerca în curând
Lisa
A funcționat bine și într-un e-mail nou compus din Outlook, așa că aș spune că este o problemă Gmail. Mulțumesc!
Personal editorial
Tocmai am încercat cu Gmail.. Funcționează bine aici.
Admin
Lisa
Interesant și util; totuși, am fost surprins că testul de copiere nu a funcționat (cel puțin pentru mine) atunci când compuneam un e-mail în Gmail — nimic nu a apărut după lipirea textului copiat, iar zona de text din fereastra de compunere a e-mailului pur și simplu a înghețat. Testarea unui fragment copiat în Notepad a funcționat perfect, așa că nu știu care ar putea fi problema cu Gmail.
Mulțumesc pentru pont!
Albert Albs
Aceasta este o opțiune bună, Syed. Mulțumesc pentru distribuire. Dar dacă am putea afișa URL-ul scurt al postării, ar fi și mai bine pentru proprietarii de site-uri.
În prezent, afișează un URL lung. Dacă am ajuns aici printr-un abonament la newsletter-ul Feedburner, vine și URL-ul de urmărire UTM.
Sper că înțelegeți. Este posibil?
Personal editorial
Aha. Sugestie bună. O notez pe lista de lucruri de făcut pentru WPBeginner.
Edit: Just updated the code
Admin
Albert Albs
Asta e rapid și inteligent.
O întrebare: De ce ați eliminat URL-ul autorului din formularul de comentarii? Mereu văd că multe bloguri bazate pe WordPress oferă credit autorului comentariului în câmpul URL cu atributul NoFollow.
Există vreun motiv specific pentru eliminarea câmpului Author URI? Sau există experimente pentru actualizarea Penguin?
Apropo, nu primesc nicio notificare prin comentarii, chiar și după ce am selectat opțiunea „Notifică-mă prin e-mail despre comentariile ulterioare”.
Gabe Diaz
Uau, acum acesta este un sfat grozav! Facilitează citarea și afișarea atribuirii, precum și adăugarea unui link pentru cei care citesc rapid și fură conținut. Foarte tare!
Emily Sandford
Mulțumesc mult pentru asta. A fost atât de ușor de făcut și ceva la care m-am gândit de mult timp. Apreciez!