WordPress, varsayılan olarak yorum alanında 65525 karaktere izin verir ve bu da yaklaşık 20 adet A4 sayfasına eşittir…
WordPress yorumlarında karakter sınırını comment-template.php dosyasının kontrolüne bıraktığınızda 20 A4 sayfası uzunluğundaki yorumlara izin vermiş oluyorsunuz. 65525 karaktere izin verilebilecek ve hatta bu sınırın da ötesine geçilebilecek kategoride yayın yapan web siteleri olabilir; ama WordPress ile desteklenen web sitelerinin genellikle yorum alanlarında 65525 karaktere de gerçekten ihtiyacı yoktur. 65525 karakter ve daha fazlasına ihtiyaç duyulan durumlarda ise özetinin gösterilmesi gerekir.
Bu anlatımda şimdilik üzerinde çalıştığımız şey 65525 karakteri; WordPress’in çekirdek dosyasına müdahale etmeden JavaScript kullanarak kontrol etmek. WordPress yorum alanını PHP ile kontrol etmek mümkündü ve çok sayıda kişi de WordPress yorum eklentisi kullanmak yerine daha kararlı çalışacak olan PHP ile ele almıştı; ama JavaScript ile kontrol etmek, kalan karakterlerin dinamik ön izlemesi ve karakter sınırına ulaşıldığında düğmnin gizlenmesi ya da işlevselliğinin durdurulması gibi iki avantaj veriyor. (Gelecekte JavaScript işlevi için güncelleme gerekebilir).
WordPress yorumlarında karakter sınırını kontrol etmek, yorumların moderatör onayından geçmediği web siteleri için önemli olabilir. Spam filtresini delen trol, 65525 karakterlik bir yazı ile yorum alanını; en azından bir süre için manipüle etmeye başarabilir. Bu kontrolü yaparken meşru ziyaretçi ve kullanıcılara da kötü bir deneyim vermemek için kullandıkları karakter sayılarını göstermek gerekirdi. WPEnvolay’daki yorum alanı da aynı kodu kullanıyor. Bu işlev, ilk defa wpcmstest.xyz sitesinde geliştirilmiş ve yazılan kod doğrulanmıştı.
Kodu, genelde temanızın /assets/js klasöründe bulunan global.js ya da temanızın direkt ana dizininde yer alan js klasöründeki template.js dosyasında en alta eklemeniz de yeterlidir. (JS işlevlerinin beslendiği klasör ve dosya adları tema üreticilerine göre keyfi farklılık gösterebilir)
Değişikliği izlemek için önbelleği boşaltın
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | /* Karakter limit WPEnvolay.com */ jQuery (function($) { // WordPress default commentform - var wpenvolay_comment_input = $ ( '#commentform textarea' ); var wpenvolay_submit_button = $ ( '#commentform .form-submit' ); var wpenvolay_comment_limit_character = 1000; /* limit */ // Kalan karakterleri goster $ ('<div class="comment_wpenvolay_limit"><span>' + wpenvolay_comment_limit_character + '</span> Karakter Kaldı</div>').insertAfter(wpenvolay_comment_input); // Karakterleri hesapla wpenvolay_comment_input.bind( 'keyup', function() { /* sadece tusa basma islevini tetiklemek icin .keyup yerine .keypress */ var comment_length = $(this).val().length; var character_left = wpenvolay_comment_limit_character - comment_length; $ ('.comment_wpenvolay_limit span').html( character_left ); // Karakter limit bitince gonder botununu gizle if (wpenvolay_submit_button) ( character_left < 0 ) ? wpenvolay_submit_button.hide() : wpenvolay_submit_button.show(); }); }); /* Karakter limit WPEnvolay.com */ /** CSS stilleri icin .comment_wpenvolay_limit {} #commentform >p.comment-form-comment>div>span {} */ |
(195)