WordPress için Faydalı Snippet Kodları

WordPress’inizi optimize etmek için kullanabileceğiniz çeşitli snippet (kod parçacığı) önerilerini bu makalede bulabilirsiniz. Yorum yönetiminden SEO iyileştirmelere, kullanıcı deneyimini artıracak pratik çözümlerle WordPress sitenizin performansını yükseltebilirsiniz. Her bir snippet, sitenizin ihtiyaçlarına uygun olarak kişiselleştirilebilir ve WordPress yönetimini daha verimli hale getirebilir.

WordPress eklentileri, WordPress işlevselliğini genişletmenin en popüler yoludur. WordPress’in çalışma biçimini değiştirmenize izin vermektedirler.

Eklentiler, web sitenize entegre olan HTML ve PHP ile yazılmış basit işlevlerdir . WordPress’in işlevselliğini değiştirmenin bir başka yolu ise kod parçacığı kullanmaktır.

  • Kod snippet’leri, web sitenize doğrudan eklediğiniz küçük kod parçalarıdır.
  • İşlevsellik kazandıran parçacıklar, genellikle theme functions.php dosyasına eklenir.
  • İşlevselliği değiştiren snippet’ler bazen belirli bir tema dosyasına eklenir; örn. Single.php, page.php, search.php vb.

WordPress işlevselliğini değiştiren snippet’ler, genellikle WordPress yüklemenizin kök dizininde bulunan wp-config.php dosyasına eklenir; yani www.yourwebsite.com/wp-config.php

WordPress temanızı yükseltirseniz, tema dosyalarına eklediğiniz herhangi bir ek kodun üzerine yazılabileceğini unutmayın. Bu nedenle, web sitenize ayrı bir yerde eklediğiniz tüm snippet’leri not edinmek önemlidir. Ayrıca ücretsiz WordPress eklentisi Kod Parçalarını da kontrol etmelisiniz. Kod parçaları doğrudan tema functions.php dosyasına eklemek için kullanılabilir.

Bu yazıda sizlerle WordPress için kullanışlı kod parçacıkları koleksiyonunu paylaşmak istiyorum. Umarım listenin tadını çıkarırsınız

1. Yorumları çok uzun olan URL’leri Spam olarak işaretleyin

Bu kod parçası, spam yorumları ve kötü amaçlı bağlantıları otomatik olarak tespit etmeye yardımcı olabilir. Uzun URL’ler genellikle spam yorumlarında bulunur ve bu kod onları filtreleyerek sitenizin güvenliğini artırabilir.

Düzenlenecek Dosya: Functions.php

Spam gönderenler sık ​​sık web sayfalarına çok uzun URL’lerle bağlanırlar. Bu nedenle, birisi bir yorum yayınlar ve web sitesi alanına uzun bir URL girerse, yorumun bir spammer tarafından yayınlanması olasılığı yüksektir.

Aşağıdaki snippet, 50 karakteri aşan bir web sitesi URL’sine sahip bir yorumu spam olarak işaretleme olanağı sunuyor. Bu sınırı, kendi ihtiyaçlarınıza göre artırabilir veya azaltabilirsiniz.

<?php
 
  function rkv_url_spamcheck( $approved , $commentdata ) {
    return ( strlen( $commentdata['comment_author_url'] ) > 50 ) ? 'spam' : $approved;
  }
 
  add_filter( 'pre_comment_approved', 'rkv_url_spamcheck', 99, 2 );
 
?>

Kaynak:

2. URL Alanını WordPress Yorum Formundan kaldırın

Yorumlarda spam bağlantıları ve gereksiz reklamları önleyebilir. Yorumların yalnızca metin içermesini sağlayarak sitenizin daha düzenli ve spam içerikten arınmış görünmesini sağlayabilirsiniz.

Aşağıdaki snippet’i uygularsanız ve WordPress tartışma ayarlarınızı, bir bağlantıya sahip herhangi bir yoruma denetlenmek üzere yapılandırırsanız; Tüm spamleri tamamen durdurabilirsiniz.

Düzenlenecek Dosya: Functions.php

function remove_comment_fields($fields) {
    unset($fields['url']);
    return $fields;
}
add_filter('comment_form_default_fields','remove_comment_fields');

Kaynak:

3. Minimum Yorum Uzunluğunu Gerektirin

Düzenlenecek Dosya: Functions.php

Spam ile mücadele etmek ve daha iyi yorumları teşvik etmek için iyi bir yol, yorumlar için minimum uzunluk uygulamaktır. Bu, “Büyük yayın” ve “Teşekkürler!” Gibi küçük ilgisiz yorumları durdurmaya yardımcı olur.

Tek kelimelik veya anlamsız yorumları önleyebilir. Yorumların belirli bir minimum uzunluğa sahip olmasını sağlayarak sitenizin yorumlar bölümünün daha anlamlı ve faydalı içeriklerle dolmasını sağlayabilirsiniz.

add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
    $minimalCommentLength = 20;
    if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
    wp_die( 'All comments must be at least ' . $minimalCommentLength . ' characters long.' );
    }
    return $commentdata;
}

Kaynak:

4. WordPress’deki URL’lerin Otomatik Bağlantısını Kaldırın

Düzenlenecek Dosya: Functions.php

Bu kod parçası, sitenizin daha minimalist ve düzenli görünmesini sağlayabilir. Otomatik bağlantıları devre dışı bırakarak, bağlantıların nasıl ve nerede görüneceğini daha fazla kontrol sahibi olursunuz.

remove_filter('comment_text', 'make_clickable', 9);

Kaynak:

5. WordPress’de otomatik olarak Twitter kullanıcı adlarını bağlayın

Düzenlenecek Dosya: Functions.php

Bu kullanışlı fonksiyon, Twitter kullanıcı adlarını kişinin Twitter profiline otomatik olarak bağlamaktadır. Makalelerinizde Twitter kullanıcılarına sık sık başvurursanız, değerlidir.

/* Automatically link Twitter usernames in WordPress*/
 
function twtreplace($content) {
	$twtreplace = preg_replace('/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/',"$1<a href=\"http://twitter.com/$2\" target=\"_blank\" rel=\"nofollow\">@$2</a>",$content);
	return $twtreplace;
}
 
add_filter('the_content', 'twtreplace');   
add_filter('comment_text', 'twtreplace');

Kaynak:

6. Başarılı Bir Üye Kaydını Belirli Sayfaya Yönlendirme

Düzenlenecek Dosya: Functions.php

Bu snippet’i, insanların web sitenize kaydolmasına izin veriyorsanız yararlı bulacaksınız. Kayıt işlemlerini tamamladıktan sonra yeni kullanıcıları belirli bir sayfaya yönlendirebilirsiniz.

Ziyaretçilerin yorumları yayınlamak veya tartışma platformuna katılmak için bir hesaba kaydolmalarına izin verirseniz bu kod yararlıdır. Yeni üyeleri, üyeliklerinin ayrıntılarını veren bir teşekkür sayfasına yönlendirebilirsiniz.

function wps_registration_redirect(){
    return home_url( '/finished/' );
}
add_filter( 'registration_redirect', 'wps_registration_redirect' );

Kaynak:

7. WordPress Giriş Logonuzu, URL’sini ve Başlığını Değiştirin

Düzenlenecek Dosya: Functions.php

CSS Tricks, WordPress giriş sayfanızı özelleştirmek için kullanılabilecek bazı yararlı snippet’leri yayınladı. İlk snippet www.yourwebsite.com/wp-login.php ve www.yourwebsite.com/wp-admin/ adresinde görüntülenen logoyu değiştirir.

function custom_login_logo() {
	echo '<style type="text/css">h1 a { background: url('.get_bloginfo('template_directory').'http://cdn.css-tricks.com/images/logo-login.gif) 50% 50% no-repeat !important; }</style>';
}
add_action('login_head', 'custom_login_logo');

İkinci snippet, oturum açma logonuza eklenen URL’yi kişiselleştirmenize olanak tanır. Logo, WordPress.org’a bağlanmak yerine web sitenizin ana sayfasına bağlanacaktır.

function change_wp_login_url() {
	return bloginfo('url');
}
add_filter('login_headerurl', 'change_wp_login_url');

Üçüncü snippet, oturum açma logonuzun başlık özniteliğini ayarlar alanınızda tanımlanan web sitesi başlığına değiştirmek için kullanılabilir.

function change_wp_login_title() {
	return get_option('blogname');
}
add_filter('login_headertitle', 'change_wp_login_title');

Yukarıdaki işlevlerin hepsi theme functions.php dosyanıza eklenmelidir.

Kaynak:

8. WordPress Çöp Kutunuzu Boşaltın

Düzenlenecek Dosya: WP-Config.php

WordPress’te bir açıklama, mesaj, resim veya bağlantı gibi bir şeyi sildiğinizde; kalıcı olarak silinmez. Bunun yerine çöp kutusuna gönderilir. Bu emniyetli sistem, hatayla silinen öğeleri almanıza izin vermek için kullanılır. Bunun olumsuz yanı, çöp boşaltılıncaya kadar silinen öğelerin veritabanınızda kalmasıdır.

Çöp klasörüne gönderilen öğeler, 30 gün sonra otomatik olarak silinir. Aşağıdaki kodu wp-config.php’ye ekleyerek çöp öğelerinin silinmesinden önceki gün sayısını azaltabilirsiniz.

define( 'EMPTY_TRASH_DAYS', 10 ); // 10 days

İsterseniz çöp sistemi tamamen devre dışı bırakılabilir. Bunu bu kodu kullanarak yapabilirsiniz.

define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days

Çöp sistemini tamamen devre dışı bırakmamaya özen gösterin, çünkü bir öğeyi sildikten sonra kurtarmanın yolu yoktur. En azından, çöpün bir gün sonra boşaltılmasını öneriyorum. Bu, kazayla sildiğiniz tüm öğeleri kurtarmanıza izin verir.

Kaynak:

9. Otomatik Veritabanı Optimizasyonu

Düzenlenecek Dosya: WP-Config.php

Zaman içinde, tüm WordPress web siteleri, sorguların işlenmesine bağlı olarak ek yük kazanıyor. Bir veritabanında küçük bir ek yük normaldir, ancak fazla yük varsa, web sitenizin performansı etkilenebilir.

Yükü bir MySQL veritabanından kaldırmak için veritabanı onarılması gerekir. WordPress, veritabanınızı otomatik olarak onarmanıza izin verir. Tek yapmanız gereken şu kodu wp-config.php dosyanıza eklemektir.

define( 'WP_ALLOW_REPAIR', true );

Kaynak:

10. WordPress Yazıları İçin Öne Çıkan Görsel Zorunlu Kılma:

Yazı eklerken öne çıkan görsel eklenmesini zorunlu kılan bir snippet. Bu, görsel içeriği zenginleştirir ve görsel arama sonuçlarında görünürlüğü artırabilir.

function wpb_force_featured_image() {
    global $post;
    // Yazıya öne çıkan görsel eklenmemişse uyarı ver
    if (!has_post_thumbnail($post->ID)) {
        echo '<div class="error"><p>Yazınıza bir öne çıkan görsel eklemelisiniz.</p></div>';
    }
}
add_action('save_post', 'wpb_force_featured_image');
add_action('admin_notices', 'wpb_force_featured_image');

11. WordPress’de Kullanıcı E-posta Adresini Onaylama:

Kullanıcıların kayıt olduklarında e-posta adreslerini onaylamalarını sağlayan bir snippet. Bu, kullanıcı doğrulamasını güçlendirir ve spam hesaplarını azaltabilir.

function wpb_confirm_email_address($user_id) {
    $user = get_user_by('id', $user_id);
    if ($user && !$user->has_cap('activate_plugins')) {
        $hash = md5(rand(0, 1000));
        update_user_meta($user_id, 'hash', $hash);
        $to = $user->user_email;
        $subject = 'E-posta adresinizi onaylayın';
        $message = 'Lütfen aşağıdaki bağlantıyı kullanarak e-posta adresinizi onaylayın: ' . home_url() . '/verify-email/?email=' . $to . '&hash=' . $hash;
        wp_mail($to, $subject, $message);
    }
}
add_action('user_register', 'wpb_confirm_email_address');

12. WordPress’de Özel Kısa Kod Eklemek:

Özel kısa kodlar eklemek için bir snippet. Bu, içerikte tekrar eden bileşenleri kolayca eklemenizi sağlar.

function wpb_custom_shortcode() {
    return 'Bu bir özel kısa kod örneğidir.';
}
add_shortcode('custom_shortcode', 'wpb_custom_shortcode');

13. WordPress Menüdeki Linklerin Açılışını Yeni Sekmede Zorunlu Kılma:

Menüdeki linklerin yeni bir sekmede açılmasını zorunlu kılan bir snippet. Bu, kullanıcıların sitenizden ayrılmadan diğer sayfalara erişmesini sağlar.

function wpb_menu_link_target($atts, $item, $args) {
    if ($args->theme_location == 'primary') {
        $atts['target'] = '_blank';
    }
    return $atts;
}
add_filter('nav_menu_link_attributes', 'wpb_menu_link_target', 10, 3);

14. Görüntüleri Tembel Yükleme Eklemek:

Görüntüleri tembel yükleme (lazy loading), web sitenizin performansını artırmak için önemli bir tekniktir. Bu teknik, sayfanın yüklenmesini hızlandırır çünkü sayfa açıldığında sadece görünür alan içindeki görüntüler yüklenir. Kullanıcı sayfayı aşağı doğru kaydırdıkça diğer görüntüler yüklenir. İşte WordPress’te görüntüleri tembel yükleme işlevselliği eklemek için bir snippet:

Bu snippet, WordPress sitenizdeki tüm görüntüleri tembel yüklemeye (lazy loading) başlatır.

function add_lazyload_to_images($content) {
    // Görüntü etiketlerini bul
    preg_match_all('/<img[^>]+>/i', $content, $matches);
    if (!empty($matches[0])) {
        foreach ($matches[0] as $img_tag) {
            // Tembel yükleme özelliği ekle
            $img_tag = str_replace('<img ', '<img loading="lazy" ', $img_tag);
            $content = str_replace($img_tag, $img_tag, $content);
        }
    }
    return $content;
}
add_filter('the_content', 'add_lazyload_to_images');

Bu snippet, the_content filtresi kullanılarak içeriğin içindeki tüm <img> etiketlerine loading="lazy" özelliği ekler. Bu sayede, sayfanızın yüklenme hızı artar ve kullanıcılar için daha iyi bir deneyim sağlanır.

15. JavaScript ile Görüntüleri Tembel Yükleme:

document.addEventListener("DOMContentLoaded", function() {
    var lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));
    if ("IntersectionObserver" in window) {
        let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
            entries.forEach(function(entry) {
                if (entry.isIntersecting) {
                    let lazyImage = entry.target;
                    lazyImage.src = lazyImage.dataset.src;
                    lazyImage.srcset = lazyImage.dataset.srcset;
                    lazyImage.classList.remove("lazy");
                    lazyImageObserver.unobserve(lazyImage);
                }
            });
        });

        lazyImages.forEach(function(lazyImage) {
            lazyImageObserver.observe(lazyImage);
        });
    } else {
        // IntersectionObserver desteklenmiyorsa, yedek yükleme mantığı ekleyebilirsiniz.
        console.log('IntersectionObserver desteklenmiyor, yedek yükleme mantığı eklenebilir.');
    }
});

Bu JavaScript kodu, tarayıcının IntersectionObserver API’sini kullanarak sayfanın görünür bölümünde olan görüntüleri yükler. Eğer tarayıcı IntersectionObserver API’sini desteklemiyorsa, yedek bir yükleme mantığı kullanılabilir.

Her iki yöntem de WordPress sitenizin performansını artırmak için etkili bir şekilde kullanılabilir. İhtiyaçlarınıza ve tercihlerinize göre hangi yöntemi uygulamak istediğinizi seçebilirsiniz.

En sevdiğiniz WordPress kod snippet’iniz nedir? Lütfen aşağıdaki yorum alanında diğer Benimseom okuyucularıyla paylaşın 🙂

SIKÇA SORULAN SORULAR

Bu kod parçacıklarını nasıl kullanabilirim?

Bu kod parçacıklarının çoğu, bir eklenti veya özel kod ekleyerek kullanılabilir. Hangi yöntemin sizin için en uygun olduğuna karar vermeden önce her bir kod parçacığının işlevini ve potansiyel yan etkilerini dikkatlice incelediğinizden emin olun.

Kod eklemeden önce yedekleme oluşturmam gerekir mi?

Evet, kod eklemeden önce her zaman yedekleme oluşturmanız önemlidir. Bu, herhangi bir sorunda geri dönebilmeniz için değişikliklerinizi takip etmenizi sağlar.

Snippet kodları kullanırken nelere dikkat etmeliyim?

Snippet kodlarını kullanırken güvenlik, performans ve uyumluluk konularına özellikle dikkat etmelisiniz. Güvenliği tehlikeye atacak veya performansı olumsuz etkileyecek kodları kullanmaktan kaçının.

Ayrıca, WordPress ve temanızın güncel olduğundan ve kodların sitenizle uyumlu olduğundan emin olun.

About the author
admin

Yorum yapın