Performans Artıran 23 Functions.php Kodu
WordPress sitenizde yapmak istediklerinizi, yada performans optimizasyonunu her defasında ve sürekli eklenti kurmaya gerek kalmadan kısa yoldan çözmek istermisiniz? Tabiki evet demelisiniz. Zira bu çalışmalarla wordpress sitemizi büyük bir yükten kurtarıyor olacağız. Böylece hem daha sade hemde daha hızlı bir siteniz olacak. Kullandığınız tema klasöründeki functions.php dosyasına ekleyeceğiniz kodlarla bunu yapmanız mümkün. Zira bu dosya aslında sitenizdeki fonksiyonların çalışmasını sağlayan kodları barındırıyor.
İşinize yarayacak bir çok işlem için kullanabileceğiniz function.php kodları aşağıda. Artık her özellik için eklenti yükleyerek sitenizi ağırlaştırmaya son. Performans Artıran 21 function.php Kodu ile sitenizi gereksiz yüklerdende korumuş olacaksınız. Kod ekleme işlemi yapmadan önce function.php dosyanızın bir yedeğini almayı unutmayın.
Performans Artıran Functions.php Kodları
1- WordPress Sürüm Bilgisini Gizleyin
WordPress sürüm bilgisini gizlemek için eklenti yüklemenize gerek yok. Aşağıdaki kodu functions.php dosyanıza eklediğiniz takdirde WordPress sürüm bilgisi artık görünmeyecek.
function surum_remove_version() {
return ”;
}
add_filter(‘the_generator’, ‘surum_remove_version’);
2- WordPress Yönetici Panelinde Alt Bilgiyi Değiştirin
WordPress admin alanında alt bölümde ‘WordPress ile oluşturulduğunuz için teşekkür ederiz’ şeklinde bir ibare görürsünüz. Aşağıdaki function.php kodunu eklediğiniz takdirde bu yazıyı kod içerisinde istediğiniz herhangi bir şeyle değiştirebilirsiniz.
3- Varsayılan Gravatarı Değiştirin
Bilindiği üzere WordPress kurulumu sırasında size varsayılan bir avatar gelir. Bu özelliği değiştirmek ve varsayılan gravatardan kurtulmak için function.php dosyasına ekleyeceğiniz aşağıdaki kodla kendinize özel yapabilirsiniz. Aşağıda resim.jpg yazan yere kendi resim adresinizi yazmanız gerekiyor. Kodu ekledikten sonra Ayarlar » Tartışma sayfasından resminizi seçebilirsiniz.
add_filter( ‘avatar_defaults’, ‘gravatar_new_gravatar’ );
function gravatar _new_gravatar ($avatar_defaults) {
$myavatar = ‘resim.jpg’;
$avatar_defaults[$myavatar] = “Default Gravatar”;
return $avatar_defaults;
}
4- WordPress Footer’a Copyright Tarihi Ekleyin
Footer alanına copyright tarihi eklemek için aşağıdaki kodu kullanabilirsiniz.
function tarih_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;
}
function.php de yapacağınız işlem tamam. Ardından footer.php dosyasını açın ve aşağıdaki kodu alta ekleyin. Artık her yıl otomatik olarak değişen dinamik bir copyright tarihiniz oldu.
Bu işlev, ilk gönderinizin tarihini ve son gönderinizin tarihini arar ve yılları gösterir.
5- WordPress Sitenizin Arkaplan Rengini Değiştirin
Ziyaretçilerinizin her ziyaretinde web sitenizin arka plan rengi değişsin ister misiniz? Çok güzel. O halde İlk önce aşağıdaki kodu temanızın functions.php dosyasına eklemelisiniz.
function arkaplan() {
$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;
}
Daha sonra temanızın header.php dosyasını açın ve etiketini bulup aşağıdaki kodla değiştirin:
style=”background-color:”>>
Hepsi bu kadar. Artık sitenize her girişte değişik bir arkaplanla karşılaşacaksınız.
6- Sitenize Ekstra Sidebar yada Widget Alanı Ekleyin
Bunun için aşağıdaki php kodlarını functions.php dosyanıza <?php tagından sonra yapıştırın:
function custom_sidebars() {
$args = array(
‘id’ => ‘custom_sidebar’,
‘name’ => __( ‘Widget Alanı’, ‘text_domain’ ),
‘description’ => __( ‘Özelleştirilebilir Widget’, ‘text_domain’ ),
‘before_title’ => ‘
’,
‘after_title’ => ‘’,
‘before_widget’ => ‘
’,
‘after_widget’ => ‘’,
);
register_sidebar( $args );
}
add_action( ‘widgets_init’, ‘custom_sidebars’ );
Şimdi admin panelinizden Görünüm » Bileşenler sayfasına gidin. Eklediğiniz özel widget ( bileşen ) alanını göreceksiniz. Dilediğiniz gibi kullanabilirsiniz.
7- Sitenizin RSS Beslemelerini Resimli Olarak Gösterin.
Bilindiği üzere wordpress siteye eklenen görseller sadece site bünyesinde gösterilir. Fakat siz bu özelliği bir kaç satır kodla kolayca sitenizin RSS haber akışına ekleyebilirsiniz.
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = ‘
’ . get_the_post_thumbnail($post->ID) .
‘
’ . get_the_content();
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘rss_post_thumbnail’);
add_filter(‘the_content_feed’, ‘rss_post_thumbnail’);
8- Giriş Hatalarını Gizleyin
WordPress admin panele girişte yapılan hataları kullanıcıya hata olarak gösterir. Bu bilgi hackerlerin herhangi bir web sitesini hacklemede işine fazlasıyla yarar. Bu riski azaltmak için aşağıdaki kodu sitenizin function.php ye eklediğinizde sitenizin sitenizin giriş hatalarını gizleyip daha güvenli bir duruma getirebilirsiniz.
function no_wordpress_errors(){
return ‘Yasak Giriş | Bir daha yapma!!!’;
}
add_filter( ‘login_errors’, ‘no_wordpress_errors’ );
9- Admin Panele E-Posta İle Girişi Engelleyin
function.php ye ekleyeceğiniz aşağıdaki kodla admin panelinize e posta ile girişi kaldırabilirsiniz.
remove_filter( ‘authenticate’, ‘wp_authenticate_email_password’, 20 );
10- Sitenizin Arama Fonksiyonunu Kapatın
Sitenizdeki arama özelliğini kullanmak istemeyebilirsiniz. Aşağıdaki kod işinizi kolaylaştıracaktır.
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}
}
add_action( ‘parse_query’, ‘fb_filter_query’ );
add_filter( ‘get_search_form’, create_function( ‘$a’, “return null;” ) );
11- RSS Yayınlarını Geciktirin
Zaman zaman yazdığınız içerikte hata yapabilirsiniz. Hatalı yazınız RSS ile site abonelerinize e posta bülten üyelerinize bu haliyle gidecektir. Kuşkusuz bu hiç hoşunuza gitmeyen bir durum. Temanızın function.php dosyasına ekleyeceğiniz aşağıdaki kodlarla RSS gönderilerinizi geciktirebilirsiniz. Böylece yaptığınız hatayı düzenlemek için vaktiniz olacaktır.
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 $wait değişkeninin karşısındaki 10 rakamına dikkat edin. Evet burada RSS yayınımız için 10 dakikalık bir gecikme süresi belirledik. Siz bu değeri istediğiniz gibi değiştirebilirsiniz.
12- Makalelerinizdeki “Devamını Oku” Kelimesini Değiştirin
Temanızın function.php dosyasına ekleyeceğiniz aşağıdaki kodla bu işlemi yapmanız çok kolay. Kodun içindeki klasik “Devamını oku” kelimesinin yerine istediğiniz şekilde bir ifade belirleyebilirsiniz.
function modify_read_more_link() {
return ‘Okumaya devam et’;
}
add_filter( ‘the_content_more_link’, ‘modify_read_more_link’ );
13- RSS Beslemelerini Tamamen Devre Dışı Bırakın
Esasen genel anlamda bütün web siteleri RSS kullanacak diye bir kural yok. Sitenizden tamamen kaldırmak isteyebilirsiniz. Aşağıdaki kodu temanızın functions.php dosyasına eklediğiniz takdirde artık RSS yayını yapmayacaksınız.
function rss_feed() {
wp_die( __(‘RSS yayını bulunmuyor anasayfaya geri dön!’) );
}
add_action(‘do_feed’, ‘rss_feed‘, 1);
add_action(‘do_feed_rss’, ‘rss_feed‘, 1);
add_action(‘do_feed_rss’, ‘rss_feed‘, 1);
add_action(‘do_feed_rss2’, ‘rss_feed‘, 1);
add_action(‘do_feed_atom’, ‘rss_feed‘, 1);
add_action(‘do_feed_rss2_comments’, ‘rss_feed‘, 1);
add_action(‘do_feed_atom_comments’, ‘rss_feed‘, 1);
14- İçerik Özetlerinde Kelime Sayısını Artırabilirsiniz.
WordPress klasik olarak makale özeti olarak 55 kelimeyle sınırlamıştır. Bu özelliği temanızın functions.php dosyasına ekleyerek kendinize özgü değişiklikler yapabilirsiniz.
functionnew_excerpt_length($length) {
return 100;
}
add_filter(‘excerpt_length’, ‘new_excerpt_length’);
Biz burada 100 rakamını kullandık. Siz makalelerinizin sitenizde görülmesini istediğiniz özetleri için bu rakamı istediğiniz bir değerle değiştirebilirsiniz.
15- Web Sitenize FTP Aracılığıyla Yönetici Ekleyin
Zaman zaman herkesin başına gelebiliyor. Bir bakıyorsunuz kullanıcı e postanızı yada şifrenizi unutmuşsunuz. Aşağıdaki kodu temanızın functions.php dosyasına ekleyin. Kullanıcı adı ve şifre bilgilerini kendinize göre değiştirin. Böylece sitenize yeni bir yönetici eklemiş olacaksınız.
function yonetici_admin_account(){
$user = ‘Kullaniciadi’;
$pass = ‘Sifre’;
$email = ’[email protected]’;
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’,‘yonetici_admin_account’);
Önemli bir hatırlatma: Sitenize giriş yaptıktan sonra functions.php dosyanıza eklediğiniz yukarıdaki kodu silmeyi unutmayın!!!
16- Admin Sayfanızdan Klasik Hoşgeldiniz Panelini Kaldırın
Aşağıdaki kodu temanızın functions.php dosyasına ekleyerek bu paneli ortadan kaldırabilirsiniz.
remove_action(‘welcome_panel’, ‘wp_welcome_panel’);
17- Sitenizdeki Üye Sayısını Gösterin
Web sitenizdeki üye sayısını ziyaretçilerinize göstermek isteyebilirsiniz. Bu özellik için aşağıdaki kodu temanızın functions.php dosyasına eklemeniz yeterli olacaktır.
function kullanici_uyeler() {
$usercount = count_users();
$result = $usercount[‘total_users’];
return $result;
}
add_shortcode(‘user_count’, ‘kullanici _uyeler‘);
Eklediğiniz yukarıdaki kod site üye sayınızın görülmesini sağlayan [user_count] adında bir kısa kod ( short code ) oluşturur.
[user_count] ‘u istediğiniz sayfaya bizzat sayfa içinden ekleyebilirsiniz. ( Bileşen alanından metin bileşeninin içine bu kodu ekleyip sidebarda üye sayınızı gösterebilirsiniz. )
18- Sitenizin RSS Yayınında Belirli Kategorileri Göstermeyin
Sitenizdeki bazı içerikleri yada kategorileri abonelerinize göstermek istemeyebilirsiniz. Aşağıdaki kodu temanızın functinos.php dosyasına eklemeniz yeterli. ( Kod içerisindeki rakamlarla ifade edilen kategori ID lerini kendinize göre düzenleyebilirsiniz. )
function exclude_category($query) {
if ( $query->is_feed ) {
$query->set(‘cat’, ‘-5, -2, -3’);
}
return $query;
}
add_filter(‘pre_get_posts’, ‘exclude_category’);
19- Widget Alanlarınızı Kısa Kod Uyumlu Yapın
Bazı temalarda WordPress kısa kodları ( shortcode ) metin bileşeninde çalışmaz ve haliyle sitede görünmez. Bu durumda aşağıdaki kodu temanızın functions.php dosyasına eklemeniz yeterli olacaktır.
add_filter(‘widget_text’,‘do_shortcode’);
20- Sitenize Yeni Dosya Türlerini Ekleme Özelliği Kazandırın
WordPress varsayılan olarak kullanıcılarına en sık kullanılan birkaç dosya türünü yükleme izni sağlar. Siz bu izni temanızın functions.php dosyasına ekleyeceğiniz aşağıdaki kodla genişletebilirsiniz tabiki.
function my_myme_types($mime_types){
$mime_types[‘svg’] = ‘image/svg+xml’; //Adding svg extension
$mime_types[‘psd’] = ‘image/vnd.adobe.photoshop’; //Adding photoshop files
return $mime_types;
}
add_filter(‘upload_mimes’, ‘my_myme_types’, 1, 1);
Eklediğiniz bu kod WordPress sitenize SVG ve PSD formatındaki dosyalarıda yükleyebilmenizi sağlayacak. İzin vermek istediğiniz daha fazla tür için MİME Türleri şeklinde google ‘da arama yaparak çıkan listeden seçip verdiğimiz koda uygulayabilirsiniz.
21- Sitenizin XML – RPC Özelliğini Devre Dışı Bırakın
XML-RPC nedir diye soran arkadaşlarımız çıkacaktır. WordPress alt yapısının özelliklerinden olan XML-RPC bir tür APİ dir. mobil uygulamalar üçüncü taraf kodlar gibi uzaktan iletişimle çalışan yazılımlar yapmak istediğinizde bu özelliği kullanabilirsiniz. Tabiki bu özellik hackerler tarafından kötü niyetli olarakta kullanılabilir.
Eğer kullanmayacaksınız XML-RPC özelliğini kapatmak için aşağıdaki kodu temanızın functions.php dosyasına eklemeniz yeterli olacaktır.
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
22 – Varsayılan Emoji Özelliğini Kapatın
Kullanmadığınız bir özellik olan emojiyi kapatıp sitenizin açılış hızının daha iyi seviyeye gelmesini sağlayabilirsiniz. Bunun için aşağıdaki kodu functions.php ekleyebilirsiniz;
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );
/**
* Filter function used to remove the tinymce emoji plugin.
* @param array $plugins
* @return array Difference between the two arrays
*/
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
23 – Query Migrate Dosyalarını Kaldırın
Sitenin her sayfasında bulunan Query Migratedosyaları vardır. Bir çeşit Javascript dosyalarıdır bunlar ( jquery-migrate.js ve jquery-migrate.min.js gibi ) jQuery’nin eski sürümlerini kullanan temalara destek amacıyla eklenmiş olan Query Migratedosyaları sunucuya aşırı derecede sorgu göndererek yorar. Kaldırıp sunucuyu ve site hızını daha iyi seviyeye getirebilirsiniz. Kaldırmak için functions.php ‘ye eklemeniz gereken kod;
function remove_jquery_migrate( $scripts ) {
if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
$script = $scripts->registered['jquery'];
if ( $script->deps ) {
// Check whether the script has any dependencies
$script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
}
}
}
add_action( 'wp_default_scripts', 'remove_jquery_migrate' );
Eğer bu konuda var olan yeteneklerinizi geliştirmek isterseniz Boğaziçi Ensitüsünün uzman kadrosu tarafından hazırlanmış FRONT-END WEB Geliştirme Eğitimini alabilirsiniz.
Kategoriler
Son Yazılar
En Çok İşe Yarayan Sertifikalar
21 Ağustos 2023
11 Maddede Etkili Sunum Teknikleri
14 Ağustos 2023
Risk Analizi Nedir?
13 Ağustos 2023