Bir çok okuyucumdan bugüne kadar sitelerinde Loco translate veya My WP Translate gibi translate / çeviri eklentileri ile sitelerinde tema türkçeleştirme veya eklenti türkçeleştirme yaparken bir çok kelimeyi başarılı bir şekilde türkçeleştirebilseler de bazı kelimeleri bir türlü türkleştiremedikleri yönünde,
Veya sitelerinde yüzlerce yazı arasında bir kelimeyi yanlış yazdıkları, toplu bir şekilde bu yazıları / metinleri nasıl düzenleyeceklerine dair onlarca belki de yüzlerce mail aldım.
Bu konuda da var olan çözüm yöntemini toplu bir şekilde cevap olması adına tek tek gelen mailleri cevaplamak yerine bu şekilde bir başlık açarak ve açtığım başlığın altına çözümü ileti oalrak girerek devamlı yayında olan bir kaynak oluşturmak istedim.
Eğer sizin de bu durum ile ilgili alternatif başka çözümleriniz varsa, siz de bu başlık altında pekala çözümlerinizi ileti olarak paylaşabilirsiniz.
WordPress toplu kelime değiştirme veya toplu yazı düzenleme adına benim bildiğim en pratik çözüm function.php dosyasına eklenen bir kod parçacığı.
Bazı temalarda veya eklentilerde her ne kadar bir translate(çeviri) eklentisi kullansanız da bazen bazı kelimeleri çeviri eklentisinde arattığınızda çıkmayabiliyor veya çıksa bile türkçeleştirme işleminiz sitenizin ön yüzüne uygulanmayabiliyor.
Mesela bu duruma en popüler örneklerden bir tanesi de bir çok kez okuyucularım tarafından bana sorulan: “home yazısını türkçeleştiremiyorum, home yazısı çeviri eklentisinde çıkmıyor, home yazısı türkçeleştirme işlemini nasıl yapabilirim?” veya “wordpress read more yazısını değiştimre nasıl yapılır?” sorusu veya soruları oluyor.
Altta paylaştığım kod parçacığı wordpressp alt yapılı tüm sitedeki belirli bir kelimeyi değiştirme işlevini yerine getiriyor.
Yani diyelim ki sitenizde yüzlerce veya binlerce içerik var ve bu içeriklerinizde sürekli bir kelimeyi yazım hatası yaparak yazmışsınız. Bunu da çok sonradan fark ediyorsunuz. İşte böyle bir durumda bu kod parçacığı ile tüm yazılarınızda buluanan bu yanllış yazımı tek tek değiştirmek yerine toplu bir şekilde değiştirme olanağı sunar.
Buna bir nevi wordpress toplu yazı düzenleme de diyebiliriz. Tabi ki siz bu fonksiyonu isterseniz wordpress toplu yazı değiştirme işlevi için kullanırsınız isterseniz de çeviri eklentileri ile çevirisini yapamadığınız bir kelimenin çevirisini yapmak için de.
Mantık aynı. Şonuçta “home” gibi veya “read more” veya “post comment” gibi metinleri de istediğiniz kelime ile değiştirdiğinizde aslında toplu kelime değiştirme fonksiyonunı siz çeviri yapmak amacı ile kullanmış oluyorsunuz.
WordPress’de bir kelimeyi tüm sitede başka bir kelime ile değiştirmek için yapmanız gereken şey şu:
Alttaki kodu temanızın fuıncitons.php dosyasına ekleyin:
Not: Eğer function.php dosyasına nasıl kod ekleneceğini bilmiyorsanız, daha önce wpmavi’de bu konuyu anlatığım bir yazı yayımlamıştım. Şuradan o yazıma da bakarak kodu nasıl ekleyeceğiniz konusunda yardım alabilirsiniz.
Ve ardından da bu kod dosyası içerisinde bulunan Eski Metin kısmına site genelinde toplu bir şekilde değişime uğratmak istediğiniz kelimeyi – metni yazın, Yeni Metin kısmına ise yeni kelimenizi veya metninizi yazın. Bu mantığı aynen çeviri yapmak için de kullanabilirsiniz.
Mesela sitenizde bulunan “home” kelimesini değiştirmek istiyorsanız; Eski Metin kısmına home yazın, Yeni Metin kısmına ise de ana sayfa yazın gibi.
Eğer birden fazla metin değişikliği yapacaksanız da alternatif olarak şu kodu kullanabilirsiniz:
Yine bu kod dosyası içerisinde bulunan Eski Metin ve Yeni Metin kısımlarını kendi değiştirmek istediğiniz kelimeler veya metinler ile değiştirmeyi unutmayın.
Bir diğer alternatif ve kesin çözüm ise eklenti kullanmak. Bahsedeceğim eklentiyi wordpress toplu kelime düzenleme veya wordpress toplu kelime değiştirme olarak da düşünmeyin.
Pekala onları da yapacaktır ancak aynı zamanda veri tabanınızda kayıtlı ne varsa, yani veri olarak sitenize ne girildiyse tüm bu veriler üzerinde veritabanı üzerinden değişiklik yapmanıza olana sağlayan bir eklenti.
İşte metinleri, cümleleri, link yapılarını (http’yi https yapma gibi), linkleri, toplu bir şekilde site genelinde değiştirme işlevini veritabanı üzerinden sağlayan Better Search Replace isimli bir eklenti.
1- Bunun için öncellikle Better Serach Replace eklentisini sitenize kurun ve etkinleştirin.
2- Ardından admin panelinizden sol kısımdan araçlar sekmesinden Better Search Replace sekmesine tıkalyın. Bu şekilde eklentinin sayfasına ulaşmış olacaksınız.
3- Bu ekranda bulunan Search For kısmında sitenizin tamamnında değişime uğramasını istediğiniz metni, yazıyı, linki vs. girin.
4- Replace with kısmına ise yeni değiştirmek istediğiniz metni, yazıyı, linki vs. girin.
5- Select Tables kısmından ise CTRL’ye basılı tutarak veritabanınızda bulunan tüm tabloları tek tek seçin. ( Veya CTRL + A yaparak da hepsini seçebilirsiniz. ).
6- Burası önemli!!! – Run as dry run? seçeneği eğer işaretliyse, ki varsayılan olarak işaretli geliyor, o zaman siz eklentiye diyorsunuz ki benim Search For kısmına girdiğim şeyi veritabanında arat, ancak bunu Replace with kısmına girdiğim şey ile değiştirme.
Yani “önce bir bak bakalım, girdiğim şeyi bulabiliyor musun bir görelim” gibi değişim işlemi yapmadan önce kontrol ettirme seçeneğidir aslıdna Dry Run seçimi.
O yüzden siz de ilk başta Run as Dry Run seçeneğini seçili olarak bıraktıktan sonra en altta bulunan Run Search/Replace butonuna tıklayın.
Ardından eklenti zaten size en üstte bir rapor sunacaktır. Search For kısmına girdiğiniz şey site veritabanınızda atıyorum 10 tabloda 56 küsür satırda bulundu, değiştirilmeye hazır şeklinde bir rapor.
Bu rapordan da eklenti doğru şeyi mi buldu diye rapor detaylarına tıklayıp bulduklarını kontrol edebiliyorsunuz.
7- Ardından bunlardan da emin olduktan sonra yine aynı üstte anlattığım tüm adımları yine tek tek doldurup (serach for, replace with ve tablo kısımlarını) bu sefer Run as Dry Run seçeneğinin işaretini kaldırıp, en altta bulunan Run Search/Replace butonuna tıklayarak wordpress site genelinde değiştirmek istediğiniz metni, linki, yazıyı vs. toplu bir şekilde tek tıklamayla değiştirmiş oluyorsunuz.