wmaraci reklam

WordPress - Yazı İçerisindeki Eklenti Çıktılarının Sırasını Değiştirme

4 Mesajlar 1.309 Okunma
smmexpress

canatasever canatasever Can ATASEVER Kullanıcı
  • Üyelik 30.07.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Mühendis
  • Konum Almanya
  • Ad Soyad C** A**
  • Mesajlar 593
  • Beğeniler 126 / 86
  • Ticaret 7, (%100)
WordPress harika bir içerik yönetim sistemi, ama bazı eksiklikleri de yok değil. Son zamanlarda benim gözüme çarpan en büyük eksiklik, yazı içerisine, kullanılan eklentiler tarafından yüklenen çıktıların sırasını değiştirme seçeneğinin olmamasıydı. Biraz karışık gelmiş olabilir, yazının devamında anlayacağınızdan eminim.

WordPress ile hazırladığımız bloglarda eklentiler de kullanıyoruz. Sosyal paylaşım eklentileri, benzer yazılar eklentisi, gelen arama terimleri eklentisi gibi bazı eklentiler, içerik kısmının sonuna kendi çıktılarını ekliyorlar. Örnek vermek gerekirse, kendi blogumda sırasıyla:

1- Sosyal ağlarda paylaşım eklentisi

2- Facebook Beğen eklentisi

3- Yazar Bilgi eklentisi

4- Benzer yazılar eklentisi


olmak üzere 4 adet eklenti, yazı sonlarına çıktılarını ekliyor. Sosyal ağlarda paylaşım eklentisinin etkinliğini arttırmak için en başta onun çıktısını göstermek en verimlisi; ama WordPress, varsayılan olarak alfabetik sıralamaya göre eklentileri gösterdiği için, normalde o eklenti yazar bilgi eklentisinin altında çıkıyordu ve bu durum sosyal paylaşım eklentisinin verimini düşürüyordu. Yabancı kaynakları 1-2 saat kadar araştırdım ve sonunda bu durumun çözümünü buldum. Siz de eklenti çıktılarının sırasını düzenlemek isterseniz, nasıl yapacağınız yazının devamında anlatılıyor

Çözümü, benzer durum yaşayanlar için şöyle açıklayayım:

Her eklenti, yazı sonlarına bahsedilen çıktıları WordPress’in add_filter özelliğini kullanarak yerleştiriyor. WordPress, sıralama gibi bir özelliği admin panelinden sunmasa da, WP çekirdek dosyalarında bunun için bir çözüm mevcut.

WordPress'in add_filter özelliğine bakacak olursak, filtre şu mantıkla çalışıyor:



Öncelik kısmına bir sayı yazabiliyorsunuz. Küçük değer, yüksek öncelik anlamına geliyor ve add_filter fonksiyonunda varsayılan öncelik değeri 10. Örnek vermek gerekirse, add_filter fonksiyon kodundaki öncelik değeri 9 olan bir eklenti, bu değerden büyük bir değere sahip olan ya da herhangi bir öncelik belirtilmeyen eklentiden daha önce çalıştırılıyor. Böylece öncelikli olan eklentinin çıktısı daha önce gösterilmiş oluyor. Yazının başında bahsettiğim sorunun çözüm mantığı da buradan geliyor zaten.

Yazıya çıktı eklemek isteyen eklentiler, the_content etiketine kendi fonksiyonlarını ekliyorlar. Bizim, sorunumuzu çözmemiz için yapmamız gereken tek şey eklentilerin öncelik değerlerini düzenlemek. Bunun için:

1) Öncelikle aklınızda bir eklenti sırası oluşturun; hangi eklentinin çıktısını hangi sırada göstermek istediğinize karar verin.

2) Sonrasında, cPanel aracılığıyla root/wp-content/plugin/ klasörüne gidin ve sıralamasını değiştirmek istediğiniz eklentinin klasörünü açın.

3) Oradaki php uzantılı dosyaların içerisinde aşağıdaki gibi bir kod olacak, onu bulmalısınız. Değişiklikleri yapmadan önce dosyanın bir yedeğini almayı unutmayın; istenmeyen bir durumla karşılaşmanız ya da kod kümesinin bozulması sonucu yedeği geri yükleyip durumu rahatlıkla kurtarabilirsiniz.

add_filter('the_content', 'eklentinin_fonksiyonu');

Öncelik değeri tanımlanmış da olabilir tanımlanmamış da; fark etmez.

4) Şimdi yapmanız gereken, bir öncelik değeri belirlemek ya da belirlenen öncelik değerini değiştirmek; böylece eklentilerin yüklenme sırasını ayarlamış olacaksınız. Bunun için, 3. adımdaki kod yerine aşağıdaki kodu ekleyin:

add_filter('the_content', 'eklentinin_fonksiyonu', SAYI);

5) Önceki adımda eklediğiniz kod içerisindeki SAYI değerine, eklentilerin yüklenmelerini istediğiniz sıraya göre bir değer vermelisiniz. Tercih ettiğiniz sıraya göre bu işlemi diğer eklenti dosyalarında da tekrarlamanız gerekebilir. Unutmayın, küçük değer yüksek öncelik anlamına geliyor ve WordPress’in varsayılan öncelik değeri 10 (yani eklentilerin add_filter fonksiyonunda herhangi bir öncelik değeri belirtilmemişse, WP bu değeri 10 olarak kabul ediyor).

İşlemler bu kadar :) Bu yöntem sayesinde (blog yazılarımın sonunda da görebileceğiniz gibi) sosyal paylaşım eklentisini daha öncelikli hale getirdim ve ilk önce onun çıktısı ve devamında diğer eklentilerin çıktıları gösteriliyor.

Bu işlemin tek olumsuz yanı; eklenti güncellemesi yaptığınızda, verdiğiniz öncelik değerinin, orjinal eklentideki değere geri dönebilme ihtimali. Böylesi bir durumda aynı işlemi tekrar yapmanız sorunu çözecektir.

Türkçe Çeviri: http://www.candanblog.com/wordpress-2/wordpress-yazi-icerisindeki-eklenti-ciktilarinin-sirasini-degistirme/
Orjinal Kaynak: http://www.inficone.com/technology/customize-plugin-order-below-wordpress-posts-using-add_filter
 

 

wmaraci
reklam

bhdreren bhdreren WM Aracı Kullanıcı
  • Üyelik 12.11.2012
  • Yaş/Cinsiyet 40 / E
  • Meslek inş müh
  • Konum Erzurum
  • Ad Soyad ** **
  • Mesajlar 45
  • Beğeniler 7 / 10
  • Ticaret 1, (%100)
eline sağlık oldukca acıklayıcı olmus
canatasever

kişi bu mesajı beğendi.

AhmetOztasci AhmetOztasci WM Aracı Kullanıcı
  • Üyelik 24.11.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek asfwf
  • Konum Diğer
  • Ad Soyad A** Ö**
  • Mesajlar 906
  • Beğeniler 199 / 232
  • Ticaret 11, (%100)
Ellerine sağlık.
canatasever

kişi bu mesajı beğendi.

boş çuval dik durmaz

canatasever canatasever Can ATASEVER Kullanıcı
  • Üyelik 30.07.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Mühendis
  • Konum Almanya
  • Ad Soyad C** A**
  • Mesajlar 593
  • Beğeniler 126 / 86
  • Ticaret 7, (%100)
İşe yaraması dileğiyle..
 

 

wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al