WordPress İşlevleri Dosyası için 32 Son Derece Faydalı Püf Noktaları

750 425 KreatifAjans

Tüm WordPress temaları güçlü bir functions.php dosyasıyla birlikte gelir. Bu dosya bir eklenti görevi görür ve WordPress sitenizde birçok harika şey yapmanızı sağlar. Bu yazıda, size WordPress işlevler dosyanız için en kullanışlı püf noktalarından bazılarını göstereceğiz.

Most useful tricks for WordPress functions file

WordPress’teki İşlevler Dosyası nedir?

Yaygın olarak bilinen fonksiyonlar dosya functions.php dosyasına bir WordPress teması dosyasıdır. Tüm ücretsiz ve premium WordPress temalarıyla birlikte gelir.

Bu dosyanın amacı, tema geliştiricilerinin tema özelliklerini ve işlevlerini tanımlamasına izin vermektir. Bu dosya tıpkı bir WordPress eklentisi gibi davranır ve WordPress’e kendi özel kod parçacıklarınızı eklemek için kullanılabilir.

Bu kod parçacıklarının birçoğunu Kreatif Ajans gibi web sitelerinde, bu kodu temanızın functions.php dosyasına veya siteye özgü bir WordPress eklentisine eklemenizi söyleyen talimatlarla bulabilirsiniz.

Şimdi siteye özgü bir WordPress eklentisi ile functions.php dosyası arasındaki farkın ne olduğunu düşünüyor olabilirsiniz. Hangisi daha iyi?

Functions.php dosyası daha kullanışlı olsa da, siteye özgü bir eklenti çok daha iyidir. Bunun nedeni, WordPress temanızdan bağımsız olması ve hangi temayı kullandığınızdan bağımsız olarak çalışacak olmasıdır.

Öte yandan, bir temanın işlevler dosyası yalnızca o tema için çalışır ve temayı değiştirirseniz, özel kodlarınızı yeni temaya kopyalayıp yapıştırmanız gerekir.

Bunu söyledikten sonra, işte WordPress işlevler dosyası için son derece yararlı bazı püf noktaları.

1. WordPress Sürüm Numarasını Kaldırın

Her zaman WordPress’in en son sürümünü kullanmalısınız. Ancak yine de WordPress sürüm numarasını sitenizden kaldırmak isteyebilirsiniz. Bu kod parçacığını işlevler dosyanıza eklemeniz yeterlidir.

function wpb_remove_version() { return ''; } add_filter('the_generator', 'wpb_remove_version');

Ayrıntılı talimatlar için, WordPress sürüm numarasını kaldırmanın doğru yolu hakkındaki kılavuzumuza bakın.

WordPress yönetici alanınızı beyaz etiketlemek ister misiniz? Özel bir pano logosu eklemek, sürecin ilk adımıdır.

Öncelikle, özel logonuzu temanızın images klasörüne custom-logo.png olarak yüklemeniz gerekir. Özel logonuzun 16 × 16 piksel boyutunda olduğundan emin olun.

Bundan sonra bu kodu temanızın işlevler dosyasına ekleyebilirsiniz.

function wpb_custom_logo() { echo ' <style type="text/css"> #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before { background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important; background-position: 0 0; color:rgba(0, 0, 0, 0); } #wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon { background-position: 0 0; } </style> '; } //hook into the administrative header output add_action('wp_before_admin_bar_render', 'wpb_custom_logo');

Alternatif yöntemler ve daha fazla ayrıntı için, WordPress’te özel bir pano logosunun nasıl ekleneceği hakkındaki kılavuzumuza bakın.

3. WordPress Yönetici Panelinde Altbilgiyi Değiştirin

WordPress yönetici alanındaki altbilgi, ‘WordPress ile oluşturduğunuz için teşekkür ederiz’ mesajını gösterir. Bu kodu ekleyerek istediğiniz herhangi bir şeye değiştirebilirsiniz.

function remove_footer_admin () { echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a> | WordPress Tutorials: <a href="https://www.kreatifajans.com/blog" target="_blank">Kreatif Ajans</a></p>'; } add_filter('admin_footer_text', 'remove_footer_admin');

Eklemek istediğiniz metni ve bağlantıları değiştirmekten çekinmeyin. İşte test sitemizde nasıl göründüğü.

Custom footer in WordPress admin area

4. WordPress’e Özel Dashboard Widget’ları Ekleyin

Muhtemelen çok sayıda eklentinin ve temanın WordPress kontrol paneline eklediği widget’lar görmüşsünüzdür. Bir tema geliştiricisi olarak, aşağıdaki kodu yapıştırarak kendiniz bir tane ekleyebilirsiniz:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets'); function my_custom_dashboard_widgets() { global $wp_meta_boxes; wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help'); } function custom_dashboard_help() { echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://www.kreatifajans.com/blog" target="_blank">Kreatif Ajans</a></p>'; }

Şöyle görünürdü:

Custom dashboard widget in WordPress

Ayrıntılar için, WordPress’te özel gösterge tablosu widget’larının nasıl ekleneceği ile ilgili eğitimimize bakın.

5. WordPress’teki Varsayılan Gravatar’ı değiştirin

Bloglarda varsayılan gizemli adam avatarını gördünüz mü? Kendi markalı özel avatarlarınızla kolayca değiştirebilirsiniz. Varsayılan avatar olarak kullanmak istediğiniz resmi yükleyin ve ardından bu kodu işlevler dosyanıza ekleyin.

add_filter( 'avatar_defaults', 'wpb_new_gravatar' ); function wpb_new_gravatar ($avatar_defaults) { $myavatar = 'http://example.com/wp-content/uploads/2017/01/wpb-default-gravatar.png'; $avatar_defaults[$myavatar] = "Default Gravatar"; return $avatar_defaults; }

Şimdi Ayarlar »Tartışma sayfasına gidebilir ve varsayılan avatarınızı seçebilirsiniz.Custom default gravatar

Ayrıntılı talimatlar için, WordPress’te varsayılan gravatarın nasıl değiştirileceğine ilişkin kılavuzumuza bakın.

6. WordPress Altbilgisindeki Dinamik Telif Hakkı Tarihi

Temanızdaki altbilgi şablonunu düzenleyerek telif hakkı tarihi ekleyebilirsiniz. Ancak, sitenizin ne zaman başladığını göstermeyecek ve gelecek yıl otomatik olarak değişmeyecektir.

WordPress altbilgisine dinamik bir telif hakkı tarihi eklemek için bu kodu kullanabilirsiniz.

function wpb_copyright() { global $wpdb; $copyright_dates = $wpdb->get_results(" SELECT YEAR(min(post_date_gmt)) AS firstdate, YEAR(max(post_date_gmt)) AS lastdate FROM $wpdb->posts WHERE post_status = 'publish' "); $output = ''; if($copyright_dates) { $copyright = "© " . $copyright_dates[0]->firstdate; if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) { $copyright .= '-' . $copyright_dates[0]->lastdate; } $output = $copyright; } return $output; }

Bu işlevi ekledikten sonra, footer.php dosyanızı açmanız ve dinamik telif hakkı tarihini görüntülemek istediğiniz yere aşağıdaki kodu eklemeniz gerekir:

<?php echo wpb_copyright(); ?>

Bu işlev, ilk gönderinizin tarihini ve son gönderinizin tarihini arar. Daha sonra, işlevi adlandırdığınız yerde yılları yansıtır.

Daha fazla ayrıntı için, WordPress’e dinamik telif hakkı tarihinin nasıl ekleneceğine ilişkin kılavuzumuza bakın.

7. WordPress’te Arka Plan Rengini Rastgele Değiştirin

Her ziyarette ve sayfa yeniden yüklendiğinde WordPress’inizdeki arka plan rengini rastgele değiştirmek ister misiniz? İşte bunu nasıl kolayca yapacağınız.

Öncelikle bu kodu temanızın işlevler dosyasına eklemeniz gerekir.

function wpb_bg() { $rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); $color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]. $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]; echo $color; }

Ardından, temanızdaki header.php dosyasını düzenlemeniz gerekir. <body> etiketini bulun ve şu satırla değiştirmeyi ekleyin:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>

Artık değişikliklerinizi kaydedebilir ve bunu çalışırken görmek için web sitenizi ziyaret edebilirsiniz.

Random background change in WordPress

Daha fazla ayrıntı ve alternatif yöntemler için, WordPress’te arka plan renginin rastgele nasıl değiştirileceğine ilişkin eğitimimize bakın.

8. WordPress URL’lerini güncelleyin

WordPress giriş sayfanız sürekli yenileniyorsa veya yönetici alanına erişemiyorsanız, WordPress URL’lerini güncellemeniz gerekir.

Bunu yapmanın bir yolu wp-config.php dosyasını kullanmaktır. Ancak, bunu yaparsanız, ayarlar sayfasında doğru adresi ayarlayamazsınız. WordPress URL’si ve Site URL alanları kilitlenecek ve düzenlenemez.

Bunu düzeltmek istiyorsanız, bu kodu işlevler dosyanıza eklemelisiniz.

update_option( 'siteurl', 'http://example.com' ); update_option( 'home', 'http://example.com' );

Example.com’u kendi alan adınızla değiştirmeyi unutmayın.

Giriş yaptıktan sonra, Ayarlar’a gidebilir ve orada URL’leri ayarlayabilirsiniz. Bundan sonra, işlevler dosyasına eklediğiniz kodu kaldırmanız gerekir, aksi takdirde sitenize her erişildiğinde bu URL’leri güncellemeye devam eder.

9. WordPress’e Ek Resim Boyutları Ekleyin

WordPress, bir resim yüklediğinizde otomatik olarak birkaç resim boyutu oluşturur. Ayrıca temanızda kullanmak için ek görsel boyutları da oluşturabilirsiniz. Bu kodu temanızın işlevler dosyasına ekleyin.

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Bu kod, farklı boyutlarda üç yeni görüntü boyutu oluşturur. Kendi gereksinimlerinizi karşılamak için kodu değiştirmekten çekinmeyin.

Bu kodu kullanarak temanızın herhangi bir yerinde bir resim boyutu görüntüleyebilirsiniz.

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

Ayrıntılı talimatlar için, WordPress’te ek resim boyutlarının nasıl oluşturulacağına ilişkin kılavuzumuza bakın.

10. Temanıza Yeni Gezinme Menüleri Ekleyin

WordPress, tema geliştiricilerinin gezinme menülerini tanımlamasına ve ardından bunları görüntülemesine izin verir. Temanızda yeni bir menü konumu tanımlamak için bu kodu temanızın işlevler dosyasına ekleyin.

function wpb_custom_new_menu() { register_nav_menu('my-custom-menu',__( 'My Custom Menu' )); } add_action( 'init', 'wpb_custom_new_menu' );

Artık Görünüm »Menüler’e gidebilir ve tema konumu seçeneği olarak ‘Özel Menüm’ü göreceksiniz.

New navigation menu

Şimdi bu kodu, navigasyon menüsünü görüntülemek istediğiniz temanıza eklemeniz gerekiyor.

<?php wp_nav_menu( array( 'theme_location' => 'my-custom-menu', 'container_class' => 'custom-menu-class' ) ); ?>

Ayrıntılı talimatlar için, WordPress temalarına özel gezinme menülerinin nasıl ekleneceğine ilişkin kılavuzumuza bakın.

11. Yazar Profil Alanlarını Ekleyin

WordPress’teki yazar profillerinize fazladan alanlar eklemek ister misiniz? Bu kodu işlevler dosyanıza ekleyerek bunu kolayca yapabilirsiniz:

function wpb_new_contactmethods( $contactmethods ) { // Add Twitter $contactmethods['twitter'] = 'Twitter'; //add Facebook $contactmethods['facebook'] = 'Facebook'; return $contactmethods; } add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

Bu kod, WordPress’teki kullanıcı profillerine Twitter ve Facebook alanları ekleyecektir.

Extra user profile fields in WordPress

Artık bu alanları yazar şablonunuzda şu şekilde görüntüleyebilirsiniz:

<?php echo $curauth->twitter; ?>

WordPress kaydına ek kullanıcı profili alanlarının nasıl ekleneceği ile ilgili kılavuzumuzu da görmek isteyebilirsiniz.

12. WordPress Temalarına Widget Hazır Alanlar veya Kenar Çubuğu Ekleme

Bu en çok kullanılanlardan biridir ve birçok geliştirici bunu zaten biliyor. Ama bilmeyenler için bu listede olmayı hak ediyor. Aşağıdaki kodu functions.php dosyanıza yapıştırın:

// Register Sidebars function custom_sidebars() { $args = array( 'id' => 'custom_sidebar', 'name' => __( 'Custom Widget Area', 'text_domain' ), 'description' => __( 'A custom widget area', 'text_domain' ), 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => '</aside>', ); register_sidebar( $args ); } add_action( 'widgets_init', 'custom_sidebars' );

Artık Görünüm »Pencere Öğeleri sayfasını ziyaret edebilirsiniz ve yeni özel pencere öğesi alanınızı göreceksiniz.

Newly registered widget area in WordPress

Bu kenar çubuğunu veya widget hazır alanını temanızda görüntülemek için şu kodu ekleyin:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?> <!–Default sidebar info goes here–> <?php endif; ?>

Daha fazla ayrıntı için, WordPress’te dinamik widget hazır alanların ve kenar çubuklarının nasıl ekleneceği hakkındaki kılavuzumuza bakın.

13. RSS Besleme Altbilgisini Değiştirin

Her gönderinin altındaki RSS Beslemelerine reklamlarını ekleyen bloglar gördünüz mü? Bunu basit bir işlevle kolayca başarabilirsiniz. Aşağıdaki kodu yapıştırın:

function wpbeginner_postrss($content) { if(is_feed()){ $content = 'This post was written by Syed Balkhi '.$content.'Check out Kreatif Ajans'; } return $content; } add_filter('the_excerpt_rss', 'wpbeginner_postrss'); add_filter('the_content', 'wpbeginner_postrss');

Daha fazla bilgi için, nasıl içerik ekleyeceğiniz ve RSS akışlarınızı nasıl tamamen değiştireceğinizle ilgili kılavuzumuza bakın.

14. RSS Beslemelerine Öne Çıkan Resimleri Ekleyin

Gönderi küçük resmi veya öne çıkan resimler genellikle yalnızca site tasarımınızda görüntülenir. RSS beslemenizdeki basit bir işlevle, bu işlevi RSS beslemenize kolayca genişletebilirsiniz.

function rss_post_thumbnail($content) { global $post; if(has_post_thumbnail($post->ID)) { $content = '<p>' . get_the_post_thumbnail($post->ID) . '</p>' . get_the_content(); } return $content; } add_filter('the_excerpt_rss', 'rss_post_thumbnail'); add_filter('the_content_feed', 'rss_post_thumbnail');

Daha fazla ayrıntı için, WordPress RSS beslemenize gönderi küçük resimlerini nasıl ekleyeceğinizle ilgili kılavuzumuza bakın.

15. WordPress’te Oturum Açma Hatalarını Gizleyin

WordPress’teki giriş hataları, bilgisayar korsanları tarafından yanlış kullanıcı adı veya şifre girip girmediklerini tahmin etmek için kullanılabilir. WordPress’teki giriş hatalarını gizleyerek, giriş alanınızı biraz daha güvenli hale getirebilirsiniz.

function no_wordpress_errors(){ return 'Something is wrong!'; } add_filter( 'login_errors', 'no_wordpress_errors' );

Artık kullanıcılar yanlış kullanıcı adı veya şifre girdiklerinde genel bir mesaj görüyorlar.

No login hints in WordPress

Daha fazla bilgi için, WordPress oturum açma hata mesajlarında oturum açma ipuçlarının nasıl devre dışı bırakılacağına ilişkin eğitimimize bakın.

16. WordPress’te E-posta ile Oturum Açmayı Devre Dışı Bırak

WordPress, kullanıcıların kullanıcı adı veya e-posta adresiyle giriş yapmasına izin verir. Bu kodu işlevler dosyanıza ekleyerek WordPress’te e-posta ile girişi kolayca devre dışı bırakabilirsiniz.

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Daha fazla bilgi için, WordPress’te e-posta özelliğiyle girişin nasıl devre dışı bırakılacağına ilişkin kılavuzumuza bakın.

17. WordPress’te Arama Özelliğini Devre Dışı Bırakın

WordPress sitenizde arama özelliğini devre dışı bırakmak istiyorsanız, bu kodu işlevler dosyanıza eklemeniz yeterlidir.

function fb_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; // to error if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'fb_filter_query' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Daha fazla bilgi için, WordPress’te arama özelliğinin nasıl devre dışı bırakılacağına ilişkin eğitimimize bakın.

18. RSS Beslemesindeki İletileri Geciktirme

Bazen makalenizde bir dilbilgisi veya yazım hatasıyla karşılaşabilirsiniz. Hata canlı hale gelir ve RSS beslemesi abonelerinize dağıtılır. WordPress blogunuzda e-posta abonelikleriniz varsa, bu aboneler de alacaktır.

Bu kodu temanızın işlevler dosyasına eklemeniz yeterlidir.

function publish_later_on_feed($where) { global $wpdb; if ( is_feed() ) { // timestamp in WP-format $now = gmdate('Y-m-d H:i:s'); // value for wait; + device $wait = '10'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');

Bu kodda $ bekleme veya gecikme süresi olarak 10 dakika kullandık. Bunu istediğiniz dakika sayısına çevirmekten çekinmeyin.

Eklenti yöntemi ve daha fazla bilgi için, gönderilerin WordPress RSS beslemesinde görünmesini nasıl geciktireceğinizle ilgili ayrıntılı kılavuzumuza bakın.

19. WordPress’te Alıntılar için Daha Fazla Oku Metni Değiştirin

Alıntıdan sonra görünen metni değiştirmek istiyor musunuz? Bu kodu temanızın işlevler dosyasına eklemeniz yeterlidir.

function modify_read_more_link() { return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>'; } add_filter( 'the_content_more_link', 'modify_read_more_link' ); 

20. WordPress’te RSS Beslemelerini Devre Dışı Bırakın

Tüm web sitelerinin RSS beslemesine ihtiyacı yoktur. WordPress sitenizdeki RSS beslemelerini devre dışı bırakmak istiyorsanız, bu kodu temanızın işlevler dosyasına ekleyin.

function fb_disable_feed() { wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') ); } add_action('do_feed', 'fb_disable_feed', 1); add_action('do_feed_rdf', 'fb_disable_feed', 1); add_action('do_feed_rss', 'fb_disable_feed', 1); add_action('do_feed_rss2', 'fb_disable_feed', 1); add_action('do_feed_atom', 'fb_disable_feed', 1);

Bir eklenti yöntemi ve daha fazla bilgi için, WordPress’te RSS beslemelerinin nasıl devre dışı bırakılacağına ilişkin kılavuzumuza bakın.

21. WordPress’te Alıntı Uzunluğunu Değiştirin

WordPress, alıntı uzunluklarını 55 kelimeyle sınırlar. Bunu değiştirmeniz gerekirse, bu kodu işlevler dosyanıza ekleyebilirsiniz.

function new_excerpt_length($length) { return 100; } add_filter('excerpt_length', 'new_excerpt_length');

Alıntılarda göstermek istediğiniz kelime sayısına 100’ü değiştirin.

Alternatif yöntem için, WordPress alıntılarının nasıl özelleştirileceğine ilişkin kılavuzumuza göz atmak isteyebilirsiniz (kodlama gerekmez).

22. WordPress’e Yönetici Kullanıcı Ekleyin

WordPress şifrenizi ve e-postanızı unuttuysanız, bir FTP istemcisi kullanarak bu kodu temanızın işlevler dosyasına ekleyerek bir yönetici kullanıcı ekleyebilirsiniz.

function wpb_admin_account(){ $user = 'Username'; $pass = 'Password'; $email = 'email@domain.com'; if ( !username_exists( $user ) && !email_exists( $email ) ) { $user_id = wp_create_user( $user, $pass, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action('init','wpb_admin_account');

Kullanıcı adı, şifre ve e-posta alanlarını doldurmayı unutmayın. WordPress sitenize giriş yaptıktan sonra, kodu işlevler dosyanızdan silmeyi unutmayın.

Bu konu hakkında daha fazla bilgi için, FTP kullanarak WordPress’te bir yönetici kullanıcının nasıl ekleneceği ile ilgili eğitimimize bir göz atın.

23. Hoş Geldiniz Panelini WordPress Kontrol Panelinden Kaldırma

Karşılama paneli, WordPress yönetici alanının gösterge tablosu ekranına eklenen bir meta kutudur. Yeni başlayanlar için yeni WordPress sitelerinde bir şeyler yapmaları için yararlı kısayollar sağlar.

Welcome panel in WordPress admin dashboard

Bu kodu işlevler dosyanıza ekleyerek kolayca gizleyebilirsiniz.

remove_action('welcome_panel', 'wp_welcome_panel');

Diğer yöntemler ve daha fazla ayrıntı için, WordPress panosundaki karşılama panelinin nasıl kaldırılacağına ilişkin kılavuzumuza bakın.

24. WordPress’teki Toplam Kayıtlı Kullanıcı Sayısını Göster

Do you want to show total number of registered users on your WordPress site? Simply add this code to your theme’