Hazırladıgım bir ana sayfa var.Ve ben bu ana sayfada eklenen son haberleri kategorilerine gore gosteriyorum.Blogdan bagımsız calısan ana sayfam windows-1254 karakter setinde.Malumunuz wp ise utf-8.Bu haliyle site ana sayfasında başlık ve ozetlerin latin harfleriyle cıkmasını saglıyor.Bunu ıcın yazdıgım fonksiyon:
function turkcelestir($str) {
$str = ereg_replace('ç', 'ç', $str);
$str = ereg_replace('ÄŸ', 'ğ', $str);
$str = ereg_replace('ı', 'ı', $str);
$str = ereg_replace('ö', 'ö', $str);
$str = ereg_replace('ÅŸ', 'ş', $str);
$str = ereg_replace('ü', 'ü', $str);
$str = ereg_replace('Ç', 'Ç', $str);
$str = ereg_replace('ÄŸ', 'ğ', $str);
$str = ereg_replace('İ', 'İ', $str);
$str = ereg_replace('Ö', 'Ö', $str);
$str = ereg_replace('Å', 'ş', $str);
$str = ereg_replace('Ü', 'Ü', $str);
return $str;
}Buraya kadar normalde bir sorun yok.Blogdan bagımsız calısan ana sayfama blogdan verileri cektigim kodlar bunlar :
<?
$my_query = new WP_Query('cat=3&showposts=4');
while ($my_query->have_posts()) : $my_query->the_post();$do_not_duplicate = $post->ID;
?>
<center><h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?><br><?php the_excerpt()?></a></h2>
</center>
<?php endwhile; ?>Gordugunuz gibi arkadaslar başlık ve özletler fonksiyon olarak çağırılıyor.Ben bu fonksiyonları turkcelestirme fonksiyonum içerisine aldıgımda hic bir değişiklik olmuyor.Blogda hic bir karakter sorunu yok.Tek sorun blogdan bagımsız calısan ana sayfada.
Bunu nasıl düzeltebilirim acaba bilgisi olan varmı arkadaslar ?
Şunu denedim.
$s = the_title(); $baslik = turkcelestir($s); echo $baslik;buda zaten malumunuz turkcelestir(the_title()); anlamına geliyor.Ama ne yazıkki turkcelestir fonksiyonu içerisinde the_title(); fonksiyonu calısmıyor. Daha dogrusu hic bir duzelme olmuyor.Fonksiyon içerisinde nasıl fonksiyon calıstırabilirim ?
Konuyu aynı anda birde Wordpress Turkce Karakter Sorunu bolumune yazdım ama birde buraya yazmak ıstedım php ile alakalı oldugu için.
Sagolasın. Uzun ugraslar sonunda Ntie sayesinde başarmıs oldum.