Bu hafta sonuna da yine heryerde göremeyeceğiniz, gayet anlaşılır ve hoşunuza gitmesi muhtemel olan güzel bir WordPress ipucu ile girelim.
Bu günkü WordPress ipucumuz http://blogunuz.com/author/yazarismi/ olan standart baglantı yapısını http://blogunuz.com/yazar/yazarismi/ olarak nasıl değiştirebileceğimiz üzerine.
Yukarıda author yerine biz örnek olarak yazar kullanacağız siz yazar yerine istediğiniz bir kelimeyi kullanabilirsiniz mesela; http://blogunuz.com/uye/yazarismi/ gibi.
Bunun yanında yine buna benzer bir olay arama fonksiyonunun da kalıcı bağlantısında değişiklik yapabiliriz, normalde http://blogunuz.com/search/aranacakkelime/ olan yapıyı biz örneğin http://blogunuz.com/ara/aranacakkelime/ olarak değiştireceğiz.
Değişiklik yapacağımız iki dosya var, bunlar /wp-includes/ klasörü içinde bulunan rewrite.php ve classes.php. Ve bir de eğer varsa bir yerlerde değişiklik yapmadan önceki haliyle olan bağlantıların yeni değişiklik yaptığımız haline yönlendirmek için .htaccess dosyasına yapacağımız bir ekleme.
rewrite.php dosyasında yapacağımız değişiklik;
185. satırda bulunan
var $author_base = ‘author’;
kısmını
var $author_base = ‘yazar’;
olarak değiştirelim, bunu yukarıda da belirttiğim gibi isterseniz yazar değil uye veya istediğiniz bir kelime ile de değiştirebilirsiniz.
189. satırda bulunan
var $search_base = ‘search’;
kısmını
var $search_base = ‘ara’;
olarak değiştirelim.
classes.php dosyasında yapacağımız değişiklik;
295. satırda ki
if ( (0 == count($wp_query->posts)) && !is_404() && !is_search() && ( $this->did_permalink || (!empty($_SERVER['QUERY_STRING']) && (false === strpos($_SERVER['REQUEST_URI'], ‘?’))) ) ) {
kısmı
if ( (0 == count($wp_query->posts)) && !is_404() && !is_author() && !is_search() && ( $this->did_permalink || (!empty($_SERVER['QUERY_STRING']) && (false === strpos($_SERVER['REQUEST_URI'], ‘?’))) ) ) {
olarak değiştirelim.
.htaccess dosyasına ekleme
Yukarıda da belirttiğim gibi daha önce manuel olarak bir yerlere örneğin http://blogunuz.com/yazar/yazarismi/ olarak bağlantı yazdıysanız yukarıda yaptığımız işlemle artık bu bağlantı çalışmayacak, bu yüzden biz de muhtemel bir yerlere eklediğimiz bu eski bağlantıların yeni bağlantılara yönlenmesi için bir .htaccess kodu ekleyeceğiz.
Ekleyeceğimiz kod şu;
Standart olarak
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
olan .htaccess dosyasını şu şekilde değiştireceğiz;
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^search/(.*)$ http://blogunuz.com/ara/$1 [R=301,L]
RewriteRule ^author/(.*)$ http://blogunuz.com/yazar/$1 [R=301,L]
RewriteRule ^author/(.*)$/feed/ http://blogunuz.com/yazar/$1/feed/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Yuakarıdaki .htaccess örneğinde blogunuz.com kısımlarını kendi blog adresiniz ile değiştirmelisiniz.
Arzu ederseniz değişiklik yapılmış dosyaları indirip /wp-includes/ klasörü içine atabilirsiniz, yalnızca eğer gerekli ise .htaccess dosyasındaki değişikliği kendiniz yapmalısınız. indir
Denemeleri WordPRess 2.3, 2.5, 2.6 ve 2.7 versiyonları ile yapılmıştır. Örnek bağlantılar; blog.wolkanca.com/yazar/admin/, blog.wolkanca.com/ara/wordpress ipucu
Hepsi bu kadar, iyi bloglamalar.
Güncelleme - 13 Aralık, 2011 1:43




merhaba bu tür değişiklikleri yapmak bize ne gibi yarar sağlayacak? devamı →
@ersin kalıcı bağlantı yapısının arama motorlarındaki etkisini biliyoruz, örneklemek gerekirse siz otomobil üzerine bir blog yazıyorsanız mesela arama bağlantı yapısını ... devamı →
yanlız iç sunucu hatası veriyo :D devamı →
@bilgin o hatanın nedeni bu değil arkadaşım, canım benim ;) devamı →
hatanın neden kaynaklandıgını bilecek kadar bilgim war..yedeklerini almıştım classes.php ve rewrite.php tekrar yükledim sorun kalmadı ve hatta belki başka bişiden ... devamı →
@bilgin ha hata senin blogunda öyle mi ben başka anladım, bu yöntem bu blogda çalışıyor gördüğün gibi burada hata yok. ... devamı →
wordpress 2.8 versiyonunda sadece rewrite.php deki search kısmını istediğiniz ile değiştirmek yeterli artık. authour için ise bir eklenti var ... devamı →
classes.php değişikliğine artık gerek yok sadece rewrite.php de değişiklik yapmanız yeterli. devamı →
volkan sağol çok faydalı oldu..wordpress arama permalink yapısı değişti mi ? domain.com/?s=keyword şeklinde oluyor... sen bu yazıdaki örnekte domain.com/search/keyword.. ... devamı →
kardeşm herşey güzelde tr karakterleri göstermiyo nasil çözeriz? nice-search eklentisi yeterli oluyo dosya değiştirmenize gerek yok fakat tr karakter sorunu var ... devamı →