Sie haben vielleicht bemerkt, wie einige beliebte Websites (wie eHow usw.) einen „Weiterlesen“-Link an jeden Text anhängen, der von ihrer Website kopiert wird. Dies ist eine großartige Möglichkeit, neue Benutzer zu gewinnen. Oft kopieren und fügen Leute Text von Websites in E-Mails ein. Einige verwenden es, um die Informationen für die Zukunft zu speichern, während andere sie einfach mit ihren Freunden, ihrer Familie und ihren Kollegen teilen. In diesem Artikel zeigen wir Ihnen, wie Sie ganz einfach einen „Weiterlesen“-Link zu jedem kopierten Text von Ihrem WordPress-Blog hinzufügen können, damit Sie zusätzlichen Traffic erhalten.
Hinweis: Um dies in Aktion zu sehen, kopieren Sie alles in diesem Beitrag und fügen Sie es in Ihre E-Mail oder Ihr Notizbuch ein.
Als Erstes müssen Sie den folgenden Code in die functions.php-Datei Ihres Themes oder in ein standortspezifisches Plugin kopieren:
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');
Wenn nun jemand Ihre Website besucht und versucht, Ihre Inhalte zu kopieren, wird ein "Weiterlesen"-Link mitgeliefert. Vergessen Sie nicht, den Copyright-Text zu ändern und Ihren eigenen Website-Titel dort einzufügen.
Bearbeiten: Anfangs haben wir die Fenster-URL abgerufen, aber wie einer unserer Benutzer darauf hingewiesen hat, sahen die URLs dadurch klobig aus. Wir haben den Code aktualisiert, um ihn nur auf einzelnen Beitragsseiten anzuzeigen und wp_shortlink zu verwenden. Es würde also so etwas wie dies verwenden: yoursite.com/?p=23. Wenn Sie einen benutzerdefinierten Shortlink wie wir verwenden: wpbeg.in, dann wird der gebrandete Shortlink angezeigt.

Bee
Hallo,
dieser Code scheint nicht zu funktionieren, weder auf Ihrer Website hier noch auf meiner Website mit Ihrem Snippet (WP 6.2). Könnten Sie das bitte überprüfen? Vielen Dank.
WPBeginner Support
Der Code funktioniert bei uns immer noch. Wir empfehlen, alle Plugins zu deaktivieren und/oder einen Inkognito-Browser zu verwenden, um Add-ons auszuschließen und zu sehen, ob eines einen Konflikt verursacht.
Admin
Edward Elric
Funktioniert das im Jahr 2020 noch mit dem neuesten WordPress?
WPBeginner Support
Sofern wir nichts anderes hören, sollte der Code bei der Einbindung in Ihre Website immer noch funktionieren.
Admin
Junuk
Hallo, danke für Ihre guten Informationen!
Ich habe den Code, den du mir gegeben hast, mit dem Bitly-Plugin auf meiner Website angewendet, aber er funktioniert manchmal und manchmal nicht.
Hat dieser Code etwas mit dem Cache-Plugin zu tun? Können Sie mir sagen, wo ich auf meiner Website nachsehen soll?
WPBeginner Support
Wenn Sie ein Caching-Plugin aktiviert haben, müssen Sie wahrscheinlich den gesamten Cache auf Ihrer Website löschen, damit er richtig aktualisiert wird. Zum Löschen Ihres Caches möchten Sie vielleicht unseren Leitfaden hier lesen: https://www.wpbeginner.com/beginners-guide/how-to-clear-your-cache-in-wordpress/
Admin
Pierre
Hallo,
Danke, es funktioniert gut bei Artikeln aus dem Jahr 2019, aber ist es möglich, es für benutzerdefinierte Beitragstypen funktionieren zu lassen?
Ich habe Eventon und WP News und Scrolling Widgets.
WPBeginner Support
Sie müssten `is_single` in `is_singular` ändern und den Namen Ihres benutzerdefinierten Beitragstyps hinzufügen
Admin
Will
Hast du Ratschläge, wie man Google-Tracking-Parameter an das Ende jeder URL hinzufügt? In Anbetracht dessen, dass du bereits ?p= für den Postnamen am Ende verwendest.
Akash
Gibt es eine einfache Möglichkeit, es auch für Kategorien funktionieren zu lassen?
Jasmine
Danke dafür, es funktioniert super für Beiträge, aber wenn Text aus Veranstaltungen kopiert wird, wird die URL der Seite nicht übernommen – gibt es einen Rat? Danke.
Michele
Das ist großartig. Danke. Wenn dort class – entry content stand, bedeutete das, dass es für etwa 90% des Textes auf meiner Website nicht funktionierte, da mein Text diesen Klassennamen nicht verwendete. Wenn also jemand anderes auf dieses Problem stößt, können Sie „entry content“ in „body“ ändern. Das habe ich getan.
var body_element = document.getElementsByTagName(‘body’)[0]; (Zeile 13)
Jetzt funktioniert es überall.
Meenu
Wie kann ich den Inhalt begrenzen?
Dave
Vielen Dank, die gesamte Textformatierung wurde geändert und als einzelne Zeile eingefügt. Aber ich brauche die Textformatierung so, wie sie ist. Bitte hilf mir dabei.
Ark
Dasselbe hier, alle Zeilenumbrüche fehlen nach dem Einfügen.
Jens | Sir Apfelot
Damn… I am stupid… I added it to the themes custom JS… thats not working.
Jens | Sir Apfelot
Ich habe gerade das Skript in mein WordPress-Blog eingefügt, aber ich bekomme keinen Anhang am Ende des Clips...
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
Beim Einfügen in Blogger tritt folgender Fehler auf:
Fehler beim Parsen von XML, Zeile 2237, Spalte 96: Der Wert des Attributs „href“, das einem Elementtyp „a“ zugeordnet ist, darf nicht das Zeichen „<'“ enthalten.
Irgendwelche Lösungen?
Danke.
matt
Diese Funktion macht das Kopieren und Einfügen frustrierender. Wenn ich zum Beispiel eine Überschrift kopiere und einfüge, um Wikipedia zu bearbeiten, kann die Formatierung durcheinander geraten, wenn ich nicht vorsichtig bin, und erfordert zusätzliche Arbeit.
Anonym
Als Benutzer kann ich das nicht ertragen. Bitte fügen Sie das nicht hinzu.
Alan
Weiß jemand, wie man das Format beibehält?
Wenn Sie dieses Plugin verwenden, gehen alle Leerzeichen, Zeilenumbrüche und Formatierungen verloren.
Philip-Daniel Kleudgen
Funktioniert wie ein Zauber! Das Einzige, was ich mir wünschen würde, wäre, die Menge des kopierten Textes auf zum Beispiel 150 Wörter oder so zu begrenzen.
Salud Casera
Funktioniert bei mir nicht mehr.
Es hat vorher funktioniert, aber ich denke, es hat mehr mit dem Theme zu tun als mit der WP-Version
Alyson
Leider funktioniert der Code nicht mit WP 3.8
Ich habe es auf einer frischen Installation getestet. Bitte bestätigen Sie dies gerne. Haben Sie Pläne, den Code zu aktualisieren, damit er funktioniert?
WPBeginner Support
Wir haben es gerade mit einer frischen WP 3.8-Installation getestet und es funktioniert auf unserer Seite perfekt.
Admin
Erik
Ich kann das tatsächlich auch nicht zum Laufen bringen.
Roselle
Hallo,
Zuerst konnte ich das nicht zum Laufen bringen. Aber bei genauerer Betrachtung habe ich den Schuldigen herausgefunden:
In der 8. Zeile des Codes sehen Sie Folgendes:
document.getElementsByClassName(‘entry-content’)[0], true))
Dies ist die Zeile, die dem Code sagt: „Hey, wenn jemand Text mit dieser Klassenbezeichnung kopiert, füge einen „Weiterlesen“-Link ein.“
Alles, was Sie tun müssen, ist, Firebug zu verwenden, um herauszufinden, unter welchem Klassennamen Ihr Beitragsinhalt steht.
Ich habe ein Child-Theme, das ich immer wieder bearbeitet habe, daher war meines nicht das Standard-"entry-content". Ich vermute, Ihr Klassenname ist auch anders.
Viel Glück,
Roselle
Salud Casera
Was sind die Schritte, die man mit Firebug befolgen muss, um den Post-Klassennamen herauszufinden?
Gabriel
Hallo,
Vielen Dank für diesen großartigen Artikel, aber ich habe ein Problem. Ich möchte den Permalink und nicht den verkürzten Link erhalten. Kann mir jemand sagen, wie ich das machen kann?
Prost
Redaktion
Ersetzen Sie
echo wp_get_shortlink(get_the_ID());durchthe_permalink();Admin
Gretchen Louise
Gibt es eine einfache Möglichkeit, es auch auf einzelnen Seiten funktionieren zu lassen?
Redaktion
Ja. Ändern Sie Zeile 2 des Codes von:
if (is_single()) zu if (is_singular())
Admin
Gretchen Louise
Danke! Das funktioniert, außer dass es keinen Link für Seiten erfasst… nur für Beiträge.
Redaktion
Das ist seltsam. get_the_id sollte sowohl für Seiten als auch für Beiträge funktionieren.
Gretchen Louise
Ich habe es auf KindredGrace . com zum Laufen gebracht, aber es erfasst nicht die ID für Seiten, nur für Beiträge.
Redaktion
Versuchen Sie, die globale Variable hinzuzufügen. Denn get_the_id funktioniert für Beiträge und Seiten sind auch ein „Post-Typ“
Gretchen Louise
Ich habe es so versucht und immer noch kein Glück beim Abrufen der Kurz-URL für Seiten:
// Copyright-Text hinzufügen
function add_copyright_text() {
global $post; { ?>
Brian York
Diese Änderung hat bei mir funktioniert. Überprüfen Sie jedoch doppelt, ob Ihr Inhalt unter 'entry-content' steht, andernfalls ändern Sie dies (F12 in Chrome). Danke WPBeginner!!
Brian York
Eigentlich funktioniert das nicht ganz richtig. Es funktioniert überhaupt nicht in IE und egal was ich tue, es kopiert nicht den HTML-Teil, sondern wandelt ihn immer in reinen Text um, wodurch niemals ein Link entstehen würde.
alan
Ich habe das gleiche Problem, es entfernt die gesamte Formatierung, weiß jemand eine Lösung dafür?
VIVROCKS
Toller Trick. Es gibt auch ein Plugin dafür: http://wordpress.org/extend/plugins/read-more-copy-link/
Collin Weeks
Ich liebe Ihre Website! Danke, dass Sie sich die Zeit genommen haben, mit allen zu teilen.
Mairaj Pirzada
Netter Beitrag, aber ich mag Codings nie, das verwirrt mich!
Helder
Es funktioniert nicht, auch nicht mit Inhalten von wpbeginner.com
Redaktion
Wir haben den Code von unserer Website entfernt. Einige Benutzer beschwerten sich, dass sie ihn störend fanden.
Admin
Rafi ul Islam
WOW… Vielen vielen Dank fürs Teilen,, ich leide darunter…
Danke nochmals.
Lorenzo Solís
Weiß jemand, wie man den „Weiterlesen“-Link nicht anzeigt, wenn der Beitragstitel kopiert wird?
Danke!
Redaktion
Ja, das ist möglich. Ändern Sie das Selektor-Tag von body zu einer Div-ID oder etwas Ähnlichem. Ich habe die Anfrage gestellt. Unsere Entwickler werden mich informieren, damit ich den Artikel aktualisieren kann.
Admin
Lorenzo Solís
Danke. Ich habe es gerade mit var div = document.getElementById(‘copyright’); in Zeile 6 versucht und de id=”copyright” zum Div-Inhalt hinzugefügt, aber ich erhalte das gleiche Ergebnis wie mit Ihrem Code. Entschuldigung, ich bin kein Programmierer.
Redaktion
Schau dir den Code jetzt an. Er sollte funktionieren.
Paul
Danke, das sieht interessant aus, ich werde es bald ausprobieren
Lisa
Es funktionierte auch gut in einer neuen E-Mail, die aus Outlook verfasst wurde, daher würde ich sagen, dass es ein Gmail-Problem ist. Danke!
Redaktion
Habe es gerade mit Gmail ausprobiert.. Funktioniert hier einwandfrei.
Admin
Lisa
Interessant und nützlich; ich war jedoch überrascht, dass der Kopiertest (zumindest bei mir) beim Verfassen einer E-Mail in Gmail nicht funktionierte – nach dem Einfügen des kopierten Textes erschien nichts, und das Textfeld im E-Mail-Entwurfsfenster fror einfach ein. Das Testen eines kopierten Bits in Notepad funktionierte einwandfrei, daher weiß ich nicht, was das Problem mit Gmail sein könnte.
Danke für den Tipp!
Albert Albs
Das ist eine gute Option, Syed. Danke fürs Teilen. Aber wenn wir die Kurz-URL des Beitrags ausgeben könnten, wäre das für Website-Besitzer noch besser.
Derzeit wird eine lange URL ausgegeben. Wenn ich über ein Feedburner-Newsletter-Abonnement hierher gekommen bin, wird auch die UTM-Tracking-URL angezeigt.
Ich hoffe, Sie verstehen. Ist es möglich?
Redaktion
Ah hah. Guter Vorschlag. Ich schreibe es auf die Liste der Dinge, die für WPBeginner zu tun sind.
Edit: Just updated the code
Admin
Albert Albs
Das ist schnell und schlau.
Eine Frage: Warum hast du die Autoren-URL im Kommentarformular entfernt? Ich sehe immer, dass viele WordPress-Blogs den Kommentarautoren im URL-Feld mit dem NoFollow-Attribut Anerkennung zollen.
Gibt es einen bestimmten Grund für die Entfernung des Feldes „Autor-URI“? Oder gibt es Experimente für das Penguin-Update?
Übrigens erhalte ich keine Kommentarbenachrichtigungen, auch nachdem ich die Option „Benachrichtige mich über Folgekommentare per E-Mail“ ausgewählt habe.
Gabe Diaz
Wow, das ist ein toller Tipp! Erleichtert das Zitieren und Anzeigen der Quelle sowie das Hinzufügen eines Links für diejenigen, die Inhalte überfliegen und stehlen. Sehr cool!
Emily Sandford
Vielen Dank dafür. Es war so einfach zu machen und etwas, über das ich schon lange nachgedacht habe. Ich schätze es!