Bazı popüler web sitelerinin (eHow vb.) sitelerinden kopyalanan herhangi bir metne "daha fazla oku" bağlantısı eklediğini fark etmiş olabilirsiniz. Bu, yeni kullanıcılar kazanmanın harika bir yoludur. Genellikle insanlar web sitelerinden e-postaya metin kopyalayıp yapıştırırlar. Bazıları bilgiyi gelecekte saklamak için kullanırken, diğerleri sadece arkadaşları, aileleri ve iş arkadaşlarıyla paylaşır. Bu makalede, WordPress blogunuzdan kopyalanan herhangi bir metne kolayca bir "daha fazla oku" bağlantısı ekleyebileceğinizi ve böylece ek trafik elde edebileceğinizi göstereceğiz.
Not: Bunu eylemde görmek için, bu gönderideki herhangi bir şeyi kopyalayıp e-postanıza veya not defterinize yapıştırın.
Yapmanız gereken ilk şey, aşağıdaki kodu temanızın functions.php dosyasına veya bir siteye özel eklentiye yapıştırmaktır:
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');
Artık web sitenize biri geldiğinde ve içeriğinizi kopyalamaya çalıştığında, birlikte bir daha oku bağlantısı da eklenecektir. Telif hakkı metnini değiştirmeyi ve kendi sitenizin başlığını oraya eklemeyi unutmayın.
Düzenleme: Başlangıçta pencere URL'sini alıyorduk, ancak kullanıcılarımızdan biri URL'lerin hantal göründüğünü belirtti. Kodu yalnızca tek gönderi sayfalarında gösterecek şekilde güncelledik ve wp_shortlink kullandık. Bu nedenle şöyle bir şey kullanacaktır: siteniz.com/?p=23. Bizim gibi özelleştirilmiş bir kısa bağlantı kullanıyorsanız: wpbeg.in, o zaman markalı kısa bağlantıyı gösterecektir.


Bee
Merhaba, bu kod, ne web sitenizde ne de kod parçacığınızı (WP 6.2) kullanarak kendi web sitemde çalışmıyor gibi görünüyor. Kontrol edebilir misiniz? Teşekkürler.
WPBeginner Desteği
Kod hala bizim için çalışıyor, herhangi bir eklentiyi devre dışı bırakmanızı veya eklentilerin bir çakışmaya neden olup olmadığını görmek için gizli bir tarayıcı kullanmanızı öneririz.
Yönetici
Edward Elric
Bu hala 2020'de en son WordPress ile çalışıyor mu?
WPBeginner Desteği
Aksi yönde bir haber almadığımız sürece, kodun sitenize eklendiğinde hala çalışması gerekir.
Yönetici
Junuk
Merhaba, İyi bilgileriniz için teşekkürler!
Söylediğiniz kodu Bitly eklentisi ile web siteme uyguladım, ancak bazen çalışıyor bazen çalışmıyor.
Bu kodun Önbellek eklentisiyle bir ilişkisi var mı? Web sitemde nereye bakmam gerektiğini söyleyebilir misiniz?
WPBeginner Desteği
Önbellekleme eklentisi etkinse, düzgün güncellenmesi için sitenizdeki tüm önbelleği temizlemeniz gerekebilir. Önbelleğinizi temizlemek için buradaki kılavuzumuza bakmak isteyebilirsiniz: https://014.leahstevensyj.workers.dev/beginners-guide/how-to-clear-your-cache-in-wordpress/
Yönetici
Pierre
Merhaba,
Teşekkürler, 2019'daki makalede iyi çalışıyor, ancak özel gönderi türünde çalışmasını sağlamak mümkün mü?
Eventon ve WP News ve Scrolling Widgets'ım var.
WPBeginner Desteği
is_single'ı is_singular'a değiştirmeniz ve özel gönderi türünüzün adını eklemeniz gerekir
Yönetici
Will
Her URL'nin sonuna Google izleme parametreleri eklemek için nasıl bir tavsiyeniz var? Zaten gönderi adını sona eklemek için ?p= kullandığınızı düşünürsek.
Akash
Kategorilerde de çalışmasını sağlamanın kolay bir yolu var mı?
Yasemin
Bunun için teşekkürler, gönderiler için harika çalışıyor ancak etkinliklerden metin kopyalandığında sayfanın URL'sini getirmiyor – herhangi bir tavsiyeniz var mı? Teşekkürler.
Michele
Bu harika. Teşekkürler. Sınıf – giriş içeriği dediğinde, bu sitemdeki metnin yaklaşık %90'ı için işe yaramadığı anlamına geliyordu çünkü metnim o sınıf adını kullanmıyordu. Bu yüzden başka biri bu sorunla karşılaşırsa, "giriş içeriği"ni "body" olarak değiştirebilirsiniz. Ben de öyle yaptım.
var body_element = document.getElementsByTagName(‘body’)[0]; (13. satır)
Şimdi her yerde çalışıyor.
Meenu
İçeriği nasıl sınırlayabilirim?
Dave
Çok teşekkür ederim, tüm metin biçimlendirmeleri değişti ve tek bir satır olarak yapıştırıldı. Ancak metin biçimlendirmesini olduğu gibi istiyorum. Lütfen bu konuda bana yardım edin.
Ark
Burada da aynı, yapıştırdıktan sonra tüm satır sonları eksik.
Jens | Sir Apfelot
Damn… I am stupid… I added it to the themes custom JS… thats not working.
Jens | Sir Apfelot
Betiği wordpress bloguma ekledim ama klibin sonunda bir ek almıyorum...
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
Bunu blogger'a yapıştırırken aşağıdaki hata geliyor
XML ayrıştırma hatası, 2237. satır, 96. sütun: "a" öğe türüyle ilişkili "href" özniteliğinin değeri '<' karakterini içermemelidir.
Herhangi bir çözüm var mı?
Teşekkürler.
matt
Bu özellik kopyalama ve yapıştırmayı daha sinir bozucu hale getiriyor. Örneğin, başlığı kopyalayıp Wikipedia'yı düzenlemek için yapıştırırsam, dikkatli olmazsam biçimlendirmeyi bozabilir ve ek çalışma gerektirir.
Anon
Bir kullanıcı olarak buna tahammül edemiyorum. Lütfen bunu eklemeyin.
Alan
Formatı nasıl koruyacağımı bilen var mı?
Bu eklentiyi kullanırken tüm boşluklar, satır sonları ve biçimlendirme kayboluyor.
Philip-Daniel Kleudgen
Harika çalışıyor! Keşke yapabilseydi tek şey, kopyalanan metin miktarını örneğin 150 kelime veya benzeri bir şeye sınırlaması.
Salud Casera
Artık benim için çalışmıyor.
Daha önce çalışıyordu ama sanırım bu WP sürümünden çok temayla ilgili
Alyson
Ne yazık ki, kod WP 3.8 ile çalışmıyor
Yeni bir kurulumda test ettim. Lütfen bunu doğrulamaktan çekinmeyin. Kodun çalışması için güncelleme planlarınız var mı?
WPBeginner Desteği
Bunu taze bir WP 3.8 kurulumuyla test ettik ve tarafımızda sorunsuz çalışıyor.
Yönetici
Erik
Aslında ben de bunu çalıştıramıyorum.
Roselle
Merhaba,
İlk başta bunu çalıştıramadım. Ancak yakından incelediğimde, suçluyu buldum:
Kodun 8. satırında şunu göreceksiniz:
document.getElementsByClassName(‘entry-content’)[0], true))
Bu kodun "hey, eğer biri bu sınıf adına sahip metinden metin kopyalarsa, daha fazla oku bağlantısı ekle" demesini sağlayan satırdır.
Tek yapmanız gereken, gönderi içeriğinizin hangi sınıf adının altında olduğunu öğrenmek için Firebug'ı kullanmak.
Tekrar tekrar düzenlediğim bir alt temam var, bu yüzden benimki varsayılan olan "entry-content" değildi. Sınıf adınızın da bundan farklı olduğundan şüpheleniyorum.
İyi şanslar,
Roselle
Salud Casera
Gönderi sınıf adını belirlemek için Firebug ile hangi adımlar izlenmeli?
Gabriel
Merhaba,
Bu harika makale için çok teşekkürler, ancak bir sorunum var. Kısa bağlantı yerine kalıcı bağlantıyı almak istiyorum. Bunu nasıl yapabileceğimi bana kimse söyleyebilir mi?
Şerefe
Yayın Kadrosu
echo wp_get_shortlink(get_the_ID());yerinethe_permalink();kullanınYönetici
Gretchen Louise
Tek sayfalarda da çalışmasını sağlamanın kolay bir yolu var mı?
Yayın Kadrosu
Evet. 2. satır kodunu şundan değiştirin:
if (is_single()) yerine if (is_singular())
Yönetici
Gretchen Louise
Teşekkürler! Bu işe yarıyor, ancak sayfalar için bağlantı almıyor… yalnızca gönderiler için.
Yayın Kadrosu
Bu garip. get_the_id hem sayfalar hem de gönderiler için çalışmalı.
Gretchen Louise
KindredGrace . com'da çalışıyor ama sadece gönderiler için değil, sayfaların kimliğini de almıyor.
Yayın Kadrosu
Global değişkeni eklemeyi deneyin. Çünkü get_the_id, gönderiler ve sayfalar için çalışır, bunlar da bir "gönderi türü"dür
Gretchen Louise
Sayfalar için kısa bağlantıyı yakalamakta hala şansım yok, bu şekilde denedim:
// Telif hakkı metni ekle
function add_copyright_text() {
global $post; { ?>
Brian York
Bu değişiklik benim için işe yaradı. Ancak içeriğinizin 'entry-content' altında olduğundan emin olun, aksi takdirde onu değiştirin (Chrome'da F12). Teşekkürler WPBeginner!!
Brian York
Aslında bu tam olarak doğru çalışmıyor. IE'de hiç çalışmıyor ve ne yaparsam yapayım HTML kısmını kopyalamıyor, her zaman düz metne dönüştürüyor, bu da asla bir bağlantı oluşturmaz.
alan
Aynı sorunu yaşıyorum, tüm formatı kaldırıyor, bunun bir çözümü bilen var mı?
VIVROCKS
Harika bir numara. Bunun için bir eklenti de var: http://wordpress.org/extend/plugins/read-more-copy-link/
Collin Weeks
Web sitenizi çok seviyorum! Herkesle paylaşmak için zaman ayırdığınız için teşekkürler.
Mairaj Pirzada
Güzel, Gönderi ama Kodlamaları hiç sevmem, kafamı karıştırıyor!
Helder
wpbeginner.com içeriğiyle bile çalışmıyor
Yayın Kadrosu
Web sitemizdeki kodu kaldırdık. Bazı kullanıcılar rahatsız edici olduğunu belirttiler.
Yönetici
Rafiul Islam
VAOV… Paylaştığınız için çok çok teşekkürler,, Ben bunun için acı çekiyorum…
Tekrar teşekkürler.
Lorenzo Solís
Gönderi başlığı kopyalandığında "Daha Fazla Oku Bağlantısı"nı göstermemeyi nasıl yapabileceğimi bilen var mı?
Teşekkürler!
Yayın Kadrosu
Evet, mümkün. Seçici etiketini body'den bir div ID'sine veya başka bir şeye değiştirin. Talebi ilettim. Geliştiricilerim bana bildirecek, böylece makaleyi güncelleyebilirim.
Yönetici
Lorenzo Solís
Teşekkürler. 6. satırda var div = document.getElementById(‘copyright’); kullandım ve div içeriğine id=”copyright” ekledim, ancak sizin kodunuzla aynı sonucu alıyorum. Üzgünüm, programcı değilim.
Yayın Kadrosu
Koda şimdi göz atın. Çalışması gerekir.
Paul
Teşekkürler, bu ilginç görünüyor yakında deneyeceğim
Lisa
Outlook'tan oluşturulan yeni bir e-postada da iyi çalıştı, bu yüzden Gmail sorunu olduğunu söyleyebilirim. Teşekkürler!
Yayın Kadrosu
Gmail ile denedim.. Burada sorunsuz çalışıyor.
Yönetici
Lisa
İlginç ve kullanışlı; ancak, kopyalama testinin (en azından benim için) Gmail'de bir e-posta yazarken çalışmadığını görünce şaşırdım — kopyalanan metni yapıştırdıktan sonra hiçbir şey görünmedi ve e-posta yazma penceresindeki gövde metin alanı dondu. Notepad'de kopyalanan bir parçayı test etmek gayet iyi çalıştı, bu yüzden Gmail ile ilgili sorunun ne olabileceğini bilmiyorum.
İpucu için teşekkürler!
Albert Albs
Bu iyi bir seçenek Syed. Paylaştığınız için teşekkürler. Ancak gönderinin kısa URL'sini yazdırabilirsek, bu web sitesi sahipleri için daha da iyi olur.
Şu anda uzun URL'yi yazdırıyor. Buraya Feedburner bülten aboneliği ile geldiysem, UTM izleme URL'si de geliyor.
Umarım anlarsınız. Mümkün mü?
Yayın Kadrosu
Ah hah. İyi öneri. WPBeginner'ın yapılacaklar listesine yazıyorum.
Edit: Just updated the code
Yönetici
Albert Albs
Bu hızlı ve akıllıca.
Bir Soru: Yorum formunda Yazar URL'sini neden kaldırdınız? Her zaman, WordPress destekli blogların çoğunun, yorum yazarını URL alanında NoFollow özniteliği ile onurlandırdığını görüyorum.
Yazar URI alanının kaldırılmasının özel bir nedeni var mı? Yoksa Penguin güncellemesi için herhangi bir deney mi yapılıyor?
Bu arada, "Takip yorumlarından e-posta ile beni bilgilendir" seçeneğini işaretlememe rağmen herhangi bir yorum bildirimi almıyorum.
Gabe Diaz
Vay canına, şimdi bu harika bir ipucu! Alıntı yapmayı ve atıfta bulunmayı kolaylaştırıyor ve göz gezdiren ve içeriği çalanlar için bir bağlantı bırakıyor. Çok havalı!
Emily Sandford
Bunun için çok teşekkürler. Yapması çok kolaydı ve uzun süredir merak ettiğim bir şeydi. Takdir ediyorum!