Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Så här addar du en Link för Läsa mer till kopierad text i WordPress

Du kanske har lagt märke till hur vissa populära webbplatser (gillar eHow etc) kommer att attachment en ”läs mer” länk till någon text som kopieras från deras site. Detta är ett bra sätt att få nya användare. Ofta kopierar och klistrar folk in text från webbplatser till email. Vissa använder det för att save 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 add to en ”läs mer”-länk till kopierad text från din WordPress blogg, så att du kan få ytterligare trafik.

Note: För att se detta i action, kopiera allt på detta post och klistra in det i din email eller anteckningsblock.

Det första du behöver göra är att kopiera följande kod till ditt temas functions.php-fil eller ett site-specifikt 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 kommer till din website och försöker kopiera ditt content kommer en ”read more”-länk att inkluderas tillsammans med det. Glöm inte att ändra copyright-texten och add to din egen site’s title där.

Edit: Ursprungligen hämtade vi fönstrets URL, men en av våra användare påpekade att det fick URL:erna att se klumpiga ut. Vi har uppdaterat koden för att bara visa den på sidor med enskilda inlägg och använda wp_shortlink. Så det skulle använda något som detta: yoursite.com/?p=23. Om du använder en customize kortlänk gillar vi: wpbeg.in, då kommer det att visa den märkta kortlänken.

Avslöjande: Vårt innehåll stöds av våra läsare. 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 editoriala process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Den ultimata WordPress-verktygslådan

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som varje professionell användare bör ha!

Reader Interactions

60 kommentarerLämna ett svar

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Bee

    Hi,
    this code does not seem to work, neither on your website here nor on my website using your snippet (WP 6.2). Could you please check this? Thank you.

    • WPBeginner Support

      The code is still working for us, we would recommend trying to disable any plugins and/or using an incognito browser to prevent addons to see if one may be causing a conflict.

      Administratör

  3. Edward Elric

    Is this still working in 2020 with latest WordPress?

    • WPBeginner Support

      Unless we hear otherwise, the code should still work when added to your site.

      Administratör

  4. Junuk

    Hi, Thank you for your good information!

    I applied the code you have told me with BItly plugin to my website, but it works sometimes and doesn’t work sometimes.

    Does this code have relation with Cache plug-in? Can you tell me where in my website I should take a look?

  5. Pierre

    Hi,

    Thanks, it’s work fine on article on 2019, but it’s possible to make it work on custom post type?

    I have Eventon and WP News and Scrolling Widgets.

    • WPBeginner Support

      You would need to modify the is_single to is_singular and add the name of your custom post type

      Administratör

  6. Will

    Do you have any advice on how to add Google tracking parameters to the end of each URL? Considering you’re already using ?p= for the post name at the end.

  7. Akash

    Is there an easy way to make it work on categories, too?

  8. Jasmine

    Thanks for this, it works great for posts but when text is copied from events it doesn’t pull the URL of the page through – any advice? Thanks.

    • Michele

      This is awesome. Thanks. When it says class – entry content, that meant it didn’t work for about 90% of the text on my site because my text didn’t use that class name. So if anyone else encounters this problem, you can change ”entry content” to ”body”. That’s what I did.
      var body_element = document.getElementsByTagName(’body’)[0]; (line 13)
      Now it works everywhere.

  9. Meenu

    How can I limit the content?

  10. Dave

    Thank you very much, all the text formatting were changed and pasted as a single line. But I need the text formatting as it is. So please help me in getting this.

    • Ark

      Same here, all line breaks are missing after the paste.

  11. Jens | Sir Apfelot

    Damn… I am stupid… I added it to the themes custom JS… thats not working. :-)

  12. Jens | Sir Apfelot

    Just added the script into my wordpress blog, but I dont get an appendix at the clipbiards end…

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

  13. Yash Jhade

    While pasting it to blogger following error comes
    Error parsing XML, line 2237, column 96: The value of attribute ”href” associated with an element type ”a” must not contain the ’<' character.
    Any Solutions ?
    Thanks.

  14. matt

    this feature makes copying and pasting more frustrating. For instance, if I copy and paste a headline for editing Wikipedia it can mess up formatting if I’m not careful and requires extra work.

  15. Anon

    As a user, I can’t stand this. Please don’t add this.

  16. Alan

    Anybody knows how to keep the format?

    When using this plugin all the spaces, line break and format goes away.

  17. Philip-Daniel Kleudgen

    Works like a charm! The only thing i wish it would do is limit the amount of copied text to for example 150 words or something like that.

  18. Salud Casera

    No longer works for me.

    It was working before though but I think it has more to do with the theme rather than the WP version

  19. Alyson

    Unfortunately, the code does not work with WP 3.8

    I have tested it on a fresh install. Please feel free to confirm this. Do you have any plans to update the code to make it function?

    • WPBeginner Support

      We just tested it with a fresh WP 3.8 install and it is working perfectly on our side.

      Administratör

      • Erik

        I can’t get this to work either actually.

    • Roselle

      Hello,

      At first, I could not get this to work. But upon close examination, I figured out the culprit:

      On the 8th line of the code, you’ll see this:
      document.getElementsByClassName(’entry-content’)[0], true))

      This is the line that tells the code, ”hey, if anyone copies text from text with this class name, then put a read more link”

      All you need to do is use Firebug to figure out what class name your post content is under.

      I have a child theme that I’ve edited over and over again, so mine wasn’t the default, ”entry-content”. I suspect your class name is different from that also.

      Good luck,
      Roselle

      • Salud Casera

        What are the steps to follow with Firebug to figure out the post class name?

  20. Gabriel

    Hello,

    Many thanks for this great article, but I have a problem. I would like to get the permalink and not the shorthen link. Anyone can tell me how can I do that?

    Cheers

    • Editorial Staff

      Replace echo wp_get_shortlink(get_the_ID()); with the_permalink();

      Administratör

  21. Gretchen Louise

    Is there an easy way to make it work on single pages, too?

    • Editorial Staff

      Yes. Change line 2 code from:

      if (is_single()) to if (is_singular())

      Administratör

      • Gretchen Louise

        Thank you! That works, except it doesn’t grab a link for pages…just posts.

        • Editorial Staff

          That’s weird. get_the_id should work for both pages and posts.

        • Gretchen Louise

          I have it workign on KindredGrace . com but it doesn’t grab the id for pages, just posts.

        • Editorial Staff

          Try adding the global variable. Because get_the_id works for posts and pages are also a ”post type”

      • Gretchen Louise

        I tried it like this and still no luck on grabbing the shortlink for pages:

        // Add copyright text
        function add_copyright_text() {
        global $post; { ?>

      • Brian York

        This change worked for me. However do double check that you have your content under ’entry-content’ otherwise change that (F12 in Chrome). Thanks WPBeginner!!

      • Brian York

        Actually this doesn’t quite work right. It doesn’t work in IE at all and no matter what I do its not copying the HTML part but always converting it to plain text thus would never make a link.

        • alan

          I have the same problem, it removes all the format, does anybody knows a fix to this?

  22. Collin Weeks

    Love your website! Thanks for taking the time to share with everyone.

  23. Mairaj Pirzada

    Nice, Post but I always don’t like Codings, it confuses me!

  24. Helder

    It´s not working, even with wpbeginner.com content

    • Editorial Staff

      We took the code off our website. Some users complained that they found it annoying.

      Administratör

  25. Rafiul Islam

    WOW… Many Many Thanks for share it,, I am suffering for this …
    Thanks again.

  26. Lorenzo Solís

    Does someone know how to do not show the ”Read More Link” when the post title is copied?

    Thanks!

    • Editorial Staff

      Yes it is possible. Change the selector tag from body to a div ID or what not. I have put the request in. Our developers will let me know, so I can update the article.

      Administratör

      • Lorenzo Solís

        Thanks. I’ve just tried with var div = document.getElementById(’copyright’); in the line number 6 and adding de id=”copyright” to the div content, but I get the same result as with your code. Sorry, I am not a programmer.

  27. Paul

    Thanks, this looks interesting I’ll be trying it out soon

  28. Lisa

    It also worked fine in a new email composed from Outlook, so I’d say it’s a Gmail issue. Thanks!

  29. Lisa

    Interesting and useful; however, I was surprised that the copy test did not work (for me at least) when composing an email in Gmail — nothing showed after pasting the copied text, and the body text area in the compose email window just froze. Testing a copied bit in Notepad worked just fine, so I don’t know what the issue might be with Gmail.

    Thanks for the tip!

  30. Albert Albs

    That is good option Syed. Thanks for sharing. But if we can able to print short URL of the post means, that is even better for website owners.

    Currently it is printing long URL. If I came here by Feedburner newsletter subscription, the UTM tracking url also coming.

    Hope you understand. Is it possible?

    • Editorial Staff

      Ah hah. Good suggestion. Writing it down in the list of to-do things for WPBeginner.

      Edit: Just updated the code :)

      Administratör

      • Albert Albs

        That is fast and smart.

        One Question: Why you removed Author URL in the comment form? Always, I’m seeing, many of the WordPress powered blogs will give credit to the comment author at URL field with NoFollow attribute.

        Is there any specific reason for removing Author URI field? Or are there any experiments for Penguin update?

        Between, I’m not getting any comment notification, even after selecting the “Notify me of followup comments via e-mail” option.

  31. Gabe Diaz

    Wow, now this is a great tip! Makes it easy to quote and show attribution as well as drops a link for those who skim and steal content. Very cool!

  32. Emily Sandford

    Thanks so much for this. It was so easy to do, and something I wondered about for quite some time. Appreciate it!

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åra policy för kommentarer, och din e-postadress kommer INTE att publiceras. Vänligen använd INTE nyckelord i namnfältet. Låt oss ha en personlig och meningsfull konversation.