WordPress'te etiket seçmek, eklemek bazen işkence olabiliyor. Halbuki çoğu zaman da başlıkta geçen kelimeleri etiket olarak ekliyoruz. Elle bu kelimeleri eklemek yerine WordPress'in sizin yerinize otomatik olarak eklemesini ister misiniz?
Bunun için aşağıdaki kodları temanızın Tema fonksiyonları (functions.php) dosyasına uygun bir şekilde ekleyin.
- function yg_auto_tag_append($post_id, $post) {
- $tag_words = explode(" ", preg_replace("([^A-Za-z0-9üğıişçöÜĞİŞÇÖ]+)", " ", $post->post_title));
- $tags = array();
- foreach ($tag_words as $tag) {
- if (strlen($tag) > 4) $tags[] = $tag;
- }
- if ($tags) wp_set_post_tags($post_id, $tags, true);
- }
- add_action('save_post', 'yg_auto_tag_append', 10, 2);
Hepsi bu. Eğer bu özelliği iptal etmek isterseniz add_action olan satırın başına // karakterlerini eklemeniz yeterli. WP 2.8.3 sürümünde denenmiştir.
Güncelleme: Kodda yapılan iyileştirme ile artık 4 karakterden uzun olan kelimeler etiket olarak ekleniyor, böylece veya, ya da, ve gibi bağlaç ve kısa kelimeler etiket olarak eklenmemiş oluyor. Ayrıca önceki kodda eğer başlık içerisinde özel karakterler kullanılıyorsa, bu durumda onlar da etiket olarak ekleniyordu. Artık bütün özel karakterler filtreleniyor.
Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=840.
Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.
Tarih: 20 Mayıs 2009 Saat: 17:28
Teşekkürler Yakup bey..
Tarih: 20 Mayıs 2009 Saat: 22:47
Üstad yine parçalamışsın kodları 🙂
Tarih: 20 Mayıs 2009 Saat: 22:54
Teşekkür ederim, bunlar basit şeyler. 🙂
Tarih: 21 Mayıs 2009 Saat: 02:45
bu kodu sadece başlıktan sonra belilediğimiz kelimeri ekleyerek yapamazmıyız..
örnek başlık resmi,başlık görüntüleri bu şekilde nasıl yapabiliriz..
Tarih: 21 Mayıs 2009 Saat: 08:12
Ne demek istediğinizi anlayamadım. Başlık resmi, başlık görüntüleri nedir?
Tarih: 21 Mayıs 2009 Saat: 09:14
Hocam function.php sayfam bu şekilde altına da yerleştirsem de üstüne de yerleştirsem hata veriyor. (damai_tema)
Tarih: 21 Mayıs 2009 Saat: 09:52
functions.php dosyasının sonundaki ?< kodunun hemen üzerindeki satıra ekleyin.
Tarih: 21 Mayıs 2009 Saat: 11:52
Hocam diğer sitemin dosyası aşağıdaki şekilde buna da bir yol gösterirseniz memnun olacağım. Eklenti kodu için emeğinize teşekkür ederim. devamı dileği ile :
**** Yazdığınız kodlar filtrelendiğinden karışık görünüyordu, silmek zorunda kaldım ****
Tarih: 21 Mayıs 2009 Saat: 15:35
ben başlığı bozmadan başlığa etiket eklemek istiyorum..
başlık adrina lima olsun etiketler ise adrina lima resmi,adrina lima fotoları,adrina lima görüntüleri,adrina lima videoları.. bu şekilde nasıl yapabiliriz..
Tarih: 21 Mayıs 2009 Saat: 16:47
RSS ya da diğer hazır içerikler ile, otomatik içerik sağlayıcılar vasıtasıyla oluşturulan sitelerde kullanılabilir. Kodlarınıza sağlık...
Tarih: 21 Mayıs 2009 Saat: 19:00
@harew, bunun için
$tags = explode(" ", preg_replace('/\s+/',' ',$post->post_title));
satırını aşağıdaki ile değiştirin.
$tags[] = $post->post_title . " resimleri";
$tags[] = $post->post_title . " videoları";
$tags[] = $post->post_title . " bilmem neleri";
Bu satırları ihtiyacınıza göre çoğaltıp, kullanabilirsiniz.
Eğer yukarıdaki satırı değiştirmeden altına bunları eklerseniz de başlıktaki kelimeleri de etiket olarak eklemiş olursunuz.
Tarih: 21 Mayıs 2009 Saat: 21:35
çok saol hocam
Tarih: 21 Mayıs 2009 Saat: 22:05
@cevat, nasıl bir hata mesajı alıyorsunuz?
Cannot motify header ile başlayan bir hata ise buraya bakın.
Functions.php dosyasına nasıl kod ekleneceğiyle ilgili olarak ise buraya bakın.
Tarih: 21 Mayıs 2009 Saat: 22:50
Sayın hocam http://www.mehterler.com sitemde şu http://tema.benimistanbul.com/?wptheme=mavis_v2 adresteki mavis_v2 temasını kullanıyorum. Ama bu temanın function.php dosyası çok karışık düzenleyemedim. mavisv1.rar dosyasının içinde ilgili dosya var. Vaktinizi alacaksa uğraşmayın. Saygılar.
Tarih: 21 Mayıs 2009 Saat: 23:02
Artisteer programı ile yapılan temalar, WordPress tema standartlarına uygun değildir. Bu nedenle bu tür temaları düzenleyip, adam etmek zordur.
functions.php dosyasının başında <?php kodunun hemen altına verdiğim kodu ekleyin.
Tarih: 23 Mayıs 2009 Saat: 12:47
bunu ilk wordpress kullanmaya başladığım 2006 yılında yapmıştım 🙂
Tarih: 28 Mayıs 2009 Saat: 12:12
[...] Yazı Başlığınızdaki Kelimeleri Etiketlere Otomatik Ekleyin: WordPress’te etiket seçmek, eklemek bazen işkence olabiliyor. Halbuki çoğu zaman da başlıkta geçen kelimeleri etiket olarak ekliyoruz. Elle bu kelimeleri eklemek yerine WordPress’in sizin yerinize otomatik olarak eklemesini ister misiniz? [...]
Tarih: 24 Haziran 2009 Saat: 06:53
benim temamda functions.php dosyası bulunmuyor ne yapmam lazım ?
Tarih: 24 Haziran 2009 Saat: 17:55
Tema klasörünüzde functions.php adında bir dosya oluşturup, içerisine aşağıdaki kodları yapıştırıp, kaydedin.
Tarih: 24 Haziran 2009 Saat: 18:48
çalıştı çok teşekkür ederim. hocam.
Tarih: 14 Temmuz 2009 Saat: 13:08
çok saol
Tarih: 15 Temmuz 2009 Saat: 19:09
[...] Kaynak [...]
Tarih: 21 Temmuz 2009 Saat: 15:52
Bilgi için çok teşekkürler hocam uzun süredir arıyordum. Bu yaptığımız sistem yeni açtığımız başlıklarda sorunsuz çalışıyor. Fakat önceden açtığımız konularıda bu şekle sokmak için herhangi birşey yapabilir miyiz ?
Tarih: 24 Temmuz 2009 Saat: 22:23
Teşekkür ederim Yakup Hocam;
EyvaALLAH..
Tarih: 08 Ağustos 2009 Saat: 13:47
harika bir fonksiyon daha, bu gidişler bloğunuzun bağımlısı haline geleceğim:)) çok teşekkürler..
Tarih: 09 Ağustos 2009 Saat: 22:44
Hocam bu eklentinizi daha önce kullanıyordum. Fakat bu akşam değiştirdim ondan mı oldu yoksa daha önce eklendiğim bir eklentiden mi oldu anlıyamıyorum. Linklere tıklayınca açılmıyor.
Tarih: 09 Ağustos 2009 Saat: 22:46
Konu başlıklarına tıklayınca hata veriyor. Ancak ben bunu bu akşam farkettim.
Tarih: 09 Ağustos 2009 Saat: 22:48
verdiği hata ise şu şekildedir. Not Found
The requested URL /tesekkur-2/ was not found on this server.
Tarih: 10 Ağustos 2009 Saat: 09:13
$tags = explode(" ", preg_replace('/\s+/',' ',$post->post_title));
satırını aşağıdaki ile değiştirin.
$tags[] = $post->post_title . " resimleri";
$tags[] = $post->post_title . " videoları";
$tags[] = $post->post_title . " bilmem neleri";
Bu satırları ihtiyacınıza göre çoğaltıp, kullanabilirsiniz.
Eğer yukarıdaki satırı değiştirmeden altına bunları eklerseniz de başlıktaki kelimeleri de etiket olarak eklemiş olursunuz.
Hocam bu verdiğiniz sonuna etiket ekleme, aynı zamanda basınada etiket eklemek istiyorum yani şöle;
free (Başlık) download
bunun içinde bi yardımcı olurmusunuz?
Tarih: 11 Ağustos 2009 Saat: 05:44
@Cevat Öztürk, kodları silip, deneyin. Eğer problem ortadan kalkıyorsa kodlarımı kullanmayın. Yaptığım denemelerde böyle bir probleme neden olmadığı gibi, kodların yazıların yayımlanmalarıyla da bir ilgisi yok. Ancak temanız artisteer denilen programla yapılmış bir tema olduğundan yanlış bir şekilde kodları eklemiş olabilirsiniz.
Tarih: 11 Ağustos 2009 Saat: 05:47
@Joke Boy, başına da ekleme yapmak istiyorsanız.
if ($tags) wp_set_post_tags($post_id, $tags, true);
satırından önce
$tags[] = 'başlıktan önceki' . $post->post_title . 'başlıktan sonraki';
şeklinde tekrarlayan satırlar oluşturabilirsiniz.
Tarih: 15 Eylül 2009 Saat: 02:41
merhaba,wordpress başlangıç bölümünde gelen bağlantılar eklentiler ve wordpress türkiye kısımları hep warning hatalarıyla dolu nasıl düzeltileblinir acaba? hayırlı sahurlar.
Tarih: 15 Eylül 2009 Saat: 09:41
@ahmet, hatanın tamamını görmeden kesin bir şey demek mümkün değil. Ekran görüntüsünü bir yerlere aktarıp, adresini eklersen iyi olur.
Yönetim paneli, başlangıç bölümündeki hatalar, genelde ilgili sitelere ulaşılamadığında oluşabiliyor. Örneğin, kendi bilgisayarınızda deneme yapıyorsunuz ve internetiniz yoksa RSS kaynağına ulaşılamadığına dair hatalar alırsınız.
Tarih: 20 Eylül 2009 Saat: 15:10
kodları eklediğim zaman
add_action('save_post', 'yg_auto_tag_append', 10, 2);
satırında hata veriyor ne yapmalıyım? silince sorun yok.
hata kodu
Call to undefined function add_action() in/home/altansga/public_html/wp-includes/functions.php on line 33