Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man lägger till en "läs mer"-länk till kopierad text i WordPress

Du kanske har märkt hur vissa populära webbplatser (som eHow etc.) lägger till en "läs mer"-länk till all text som kopieras från deras webbplats. Detta är ett utmärkt sätt att få nya användare. Ofta kopierar och klistrar folk in text från webbplatser till e-post. Vissa använder det för att spara informationen för framtiden, medan andra bara delar den med sina vänner, familj och kollegor. I den här artikeln kommer vi att visa dig hur du enkelt kan lägga till en "läs mer"-länk till all kopierad text från din WordPress-blogg, så att du kan få ytterligare trafik.

Obs: För att se detta i praktiken, kopiera något på det här inlägget och klistra in det i din e-post eller anteckningsblock.

Första du behöver göra är att kopiera följande kod till din temas functions.php-fil eller en webbplats-specifik plugin:

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');

Nu, när någon besöker din webbplats och försöker kopiera ditt innehåll, kommer en läs mer-länk att inkluderas tillsammans med det. Glöm inte att ändra copyrighttexten och lägga till din egen webbplats titel där.

Redigering: Ursprungligen hämtade vi fönstrets URL, men som en av våra användare påpekade gjorde det URL:erna klumpiga. Vi har uppdaterat koden för att bara visa den på enstaka inläggssidor och använda wp_shortlink. Så det skulle se ut ungefär så här: yoursite.com/?p=23. Om du använder en anpassad kort länk som vi gör: wpbeg.in, då visas den varumärkesskyddade korta länken.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

59 CommentsLeave a Reply

  1. Hej,
    Den här koden verkar inte fungera, varken på din webbplats här eller på min webbplats med ditt kodavsnitt (WP 6.2). Kan du kontrollera detta? Tack.

    • Koden fungerar fortfarande för oss, vi rekommenderar att du försöker inaktivera alla plugins och/eller använda en inkognitowebbbläsare för att förhindra tillägg för att se om något kan orsaka en konflikt.

      Admin

    • Om vi inte hör något annat, bör koden fortfarande fungera när den läggs till på din webbplats.

      Admin

  2. Hej, tack för din bra information!

    Jag tillämpade koden du gav mig med BItly-pluginet på min webbplats, men det fungerar ibland och ibland inte.

    Har den här koden något samband med Cache-plugin? Kan du tala om för mig var på min webbplats jag ska titta?

  3. Hej,

    Tack, det fungerar bra på artiklar från 2019, men är det möjligt att få det att fungera på anpassade inläggstyper?

    Jag har Eventon och WP News och Scrolling Widgets.

    • Du skulle behöva ändra is_single till is_singular och lägga till namnet på din anpassade inläggstyp

      Admin

  4. Har du några råd om hur man lägger till Google-spårningsparametrar i slutet av varje URL? Med tanke på att du redan använder ?p= för inläggsnamnet i slutet.

  5. Tack för detta, det fungerar utmärkt för inlägg men när text kopieras från händelser dras inte URL:en för sidan med – några råd? Tack.

    • Det här är fantastiskt. Tack. När det står class – entry content, så menade det att det inte fungerade för ungefär 90% av texten på min webbplats eftersom min text inte använde det klassnamnet. Så om någon annan stöter på det här problemet kan du ändra "entry content" till "body". Det är vad jag gjorde.
      var body_element = document.getElementsByTagName(‘body’)[0]; (rad 13)
      Nu fungerar det överallt.

  6. Tack så mycket, all textformatering ändrades och klistrades in som en enda rad. Men jag behöver textformateringen som den är. Så snälla hjälp mig med detta.

  7. Jag har precis lagt till skriptet i min wordpress-blogg, men jag får ingen bilaga i slutet av klippbordet...

    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… :-(

  8. Vid inklistring till blogger kommer följande felmeddelande:
    Fel vid tolkning av XML, rad 2237, kolumn 96: Värdet för attributet "href" associerat med elementtypen "a" får inte innehålla tecknet '<'.
    Några lösningar?
    Tack.

  9. den här funktionen gör kopiering och inklistring mer frustrerande. Om jag till exempel kopierar och klistrar in en rubrik för att redigera Wikipedia kan det förstöra formateringen om jag inte är försiktig och kräver extra arbete.

  10. Vet någon hur man behåller formatet?

    När du använder det här pluginet försvinner alla mellanslag, radbrytningar och formatering.

  11. Tyvärr fungerar koden inte med WP 3.8

    Jag har testat det på en ny installation. Känn dig fri att bekräfta detta. Har du några planer på att uppdatera koden för att få den att fungera?

    • Hej,

      Först kunde jag inte få det här att fungera. Men vid närmare granskning insåg jag boven:

      På den 8:e raden i koden ser du detta:
      document.getElementsByClassName(‘entry-content’)[0], true))

      Det här är raden som talar om för koden: "hej, om någon kopierar text från text med det här klassnamnet, lägg då till en läs mer-länk"

      Allt du behöver göra är att använda Firebug för att ta reda på vilket klassnamn ditt inläggsinnehåll ligger under.

      Jag har ett barn-tema som jag har redigerat om och om igen, så mitt var inte standard, "entry-content". Jag misstänker att ditt klassnamn skiljer sig från det också.

      Lycka till,
      Roselle

  12. Hej,

    Tack så mycket för den här fantastiska artikeln, men jag har ett problem. Jag skulle vilja ha permalänken och inte den förkortade länken. Kan någon säga mig hur jag kan göra det?

    Skål

    • Ja, det är möjligt. Ändra selektortaggen från body till ett div-ID eller liknande. Jag har skickat in begäran. Våra utvecklare kommer att meddela mig, så att jag kan uppdatera artikeln.

      Admin

      • Tack. Jag har precis provat med var div = document.getElementById(‘copyright’); på rad 6 och lagt till id=”copyright” till div-innehållet, men jag får samma resultat som med din kod. Tyvärr är jag ingen programmerare.

  13. Det fungerade också bra i ett nytt e-postmeddelande som skapades från Outlook, så jag skulle säga att det är ett Gmail-problem. Tack!

  14. Intressant och användbart; dock blev jag förvånad över att kopieringstestet inte fungerade (åtminstone för mig) när jag komponerade ett e-postmeddelande i Gmail — ingenting visades efter att ha klistrat in den kopierade texten, och textområdet i e-postfönstret frös bara. Att testa ett kopierat stycke i Anteckningar fungerade alldeles utmärkt, så jag vet inte vad problemet kan vara med Gmail.

    Tack för tipset!

  15. Det är ett bra alternativ Syed. Tack för att du delade med dig. Men om vi kan skriva ut den korta URL:en för inlägget, är det ännu bättre för webbplatsägare.

    För närvarande skrivs en lång URL ut. Om jag kom hit via en prenumeration på Feedburner-nyhetsbrevet, kommer UTM-spårnings-URL:en också med.

    Hoppas du förstår. Är det möjligt?

      • Det är snabbt och smart.

        En fråga: Varför tog du bort författarens URL i kommentarsformuläret? Jag ser alltid att många WordPress-drivna bloggar ger kredit till kommentarsförfattaren i URL-fältet med NoFollow-attributet.

        Finns det någon specifik anledning till att ta bort fältet Author URI? Eller finns det några experiment för Penguin-uppdateringen?

        Förresten, jag får inga kommentaraviseringar, inte ens efter att ha valt alternativet ”Meddela mig om uppföljande kommentarer via e-post”.

  16. Wow, nu är det här ett bra tips! Gör det enkelt att citera och visa attribution samt lägga till en länk för dem som skummar och stjäl innehåll. Mycket coolt!

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.