• 25-09-2012, 20:37:01
    #1
    merhaba,

    wordpress kullanıyorum yazılarda bazı kelimelere link vermek için eklenti kullanıyorum ama eklenti kasıyor aklıma gelen kelimeleri sql sorgusu ile linklemek oldu bu sayede eklentiden kurtulurum yeni yazılarda ise manuel link eklerim sorun değil

    kullanacağım sorgu kodu

    UPDATE wp_posts SET post_content = replace(post_content,"kelime1","<a target="_blank" href="http://site.com/tag/kelime1/">kelime1</a>");
    her kelime için ayrı sorgu yapıp sorunu çözmeyi düşünüyorum

    merak ettiğim sorgu sorunsuz çalışırmı yani kelimelerin bir kısmını linkleyip gerisini boş bırakmasın ya da bozmasın diğer sorun ise manuel olarak linklediğim kelimelerde etkilenirmi ?

    örneğin "kelime1" eski yazılarımda linkli değil ama yenilerde linklendi sorgu yaptığımda üst üste linkleme olabilirmi

    ya da ne gibi sorunlarla karşılaşabilirim
  • 26-09-2012, 00:57:42
    #2
    Not : bu işlemi yapmadan önce veritabanınızı kesinlikle yedekleyin.

    1. sorunuzun cevabı evet sorgu sorunsuz çalışır. belirtiğiniz kelime istediğiniz şekle dönüşür.
    2. sorunuz " manuel olarak linklediğim kelimelerde etkilenirmi ? "
    post_content tablosunda bulunan bütün kelime1 isimli değişken bundan etkilenecektir.

    3. sorunuz " örneğin "kelime1" eski yazılarımda linkli değil ama yenilerde linklendi sorgu yaptığımda üst üste linkleme olabilirmi "

    bu soruyu tam anlamazsamda kısaca şunu söyleyebilirimki kelime1 içeren ne kadar kelime var ise istisnasız diğer şekli alacaktır.
  • 26-09-2012, 20:07:02
    #3
    ilginiz için teşekkür ederim @WebMasterTM

    üçüncü sorumu daha net bir şekilde açıklamaya çalışayım

    şimdi eklenti ile "kelime1"`e link verdim tüm yazılarda otomatik "kelime1" linklendi ama yeni yazılarda eklentiyi ileride kaldırırım diyerekten önlem olarak "kelime1"`e normal şekilde yazı editöründen de link verdim


    örneğin "kelime1" tüm yazılarda toplam 500 kadar vardır 100 tanesi aşağıda ki gibi linkli olarak veri tabanına kayıtlı

    <a target="_blank" href="http://site.com/tag/kelime1/">kelime1</a>
    "kelime1" zaten linkli olduğu için sorgu sonrasında aşağıda ki gibi olursa çok uğraştırır

    <a target="_blank" href="http://site.com/tag/kelime1/"><a target="_blank" href="http://site.com/tag/kelime1/">kelime1</a></a>

    acaba aynı kelimeden linki olanları es geçip linksiz olanları değiştirecek bir sorgu yok mu

    birazdan lokalde deneyeceğim ama onada güvenemiyorum gerçek sunucuda farklı olabilir yanıltır diye danışmak istedim
  • 26-09-2012, 21:16:40
    #4
    Üyeliği durduruldu
    yukarda verdiğin sorgu çalışmıyorki
  • 26-09-2012, 22:48:54
    #5
    evet çalışmadı yerine aşağıda ki sorguyu lokalde denedim çalıştı

    update wp_posts set post_content = replace(post_content, 'kelime1', '<a target="_blank" href="http://site.com/tag/kelime1/">kelime1</a>');


    ama düşündüğüm gibi linkli olan kelimeyi tekrar linkledi

    sorumu tekrarlıyayım acaba aynı kelimeden linki olanları es geçip linksiz olanları değiştirecek bir sorgu varmıdır
  • 26-09-2012, 23:02:36
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    sorunu yanlışmı anladım bilmiyorum ama
    eklentinizin kelimeleri veritabanında linklediğini sanmıyorum.

    eklenti veritabanından veri gelirken sayfayı görüntülerken ekleyerek göstermiyormu?

    sql sorgusunda linkli olanları es geçirecek sorgu olacağını sanmıyorum bu konuda daha uzman arkadaşlar yazarlar.

    birazdaha detaylı incelermisin eklentin veritabanında yazılarında değişiklikmi yapıyor yoksa ekrana basılan görüntüdemi linkleme yapıyor
  • 26-09-2012, 23:08:08
    #7
    ilginiz için teşekkürler @yaslam

    dediğiniz gibi eklenti ekrana basılan görüntüde linkleme yapıyor veri tabanına linkleme yapan ben oldum

    yeni yazılarda kelimeye normal şekilde link verdim doğal olarak veri tabanına kayıt edildi hani ileride eklentiyi kaldıracağım ya bari yeni yazılarla uğraşmama gerek kalmasın dedim

    ama sorgu ile işi çözmek sonradan aklıma gelince kendi elimle işi zorlaştırmış oldum umarım bir çözüm bulurum
  • 26-09-2012, 23:17:03
    #8
    kusuruma bakma yanlış anlamış olabilirim seni. saatte geç değil ama demekki benim saatimde değilim anladığım kadarıyla yorum yapayım tekrardan.

    şimdi veritabanının bir kısmında linklendirilmiş yazılar var demekki ?
    evet var.
    Amacımız o yazıları tekrar linklememek?
    evet.
    sorgumuzu alıp şu halde çalıştırıyoruz önce

    update wp_posts set post_content = replace(post_content, '<a target="_blank" href="http://site.com/tag/kelime1/">kelime1</a>', 'kelime1');

    daha sonra şu sorguyu çalıştırıyoruz.
    update wp_posts set post_content = replace(post_content, 'kelime1', '<a target="_blank" href="http://site.com/tag/kelime1/">kelime1</a>');

    şu eklenti işini tamamen bi kaldıralım bu arada

    mantık olarakta şunu yaptım. linklendirilmiş yazılardaki linki kaldırdım önce sonra tüm yazılara linki ekledim.
  • 26-09-2012, 23:47:20
    #9
    teşekkür ederim @yaslam

    bende aynı çözümü düşündüm fakat işi bozan aynı kelimelere farklı link verdim (karışık) bu sebeple aynı kelimeden linki olanları es geçip linksiz olanları değiştirecek bir sorgu daha iyi olur

    ama çözüm bulamazsam sizin dediğiniz gibi yapacağım sorunlu linkleride fark ettikce düzenlerim