WordPress İçin Faydalı Functions.php Dosyası Komutları
WordPress, esnekliği ve genişletilebilirliği ile bilinen güçlü bir içerik yönetim sistemidir. Bu özelliklerini büyük ölçüde functions.php dosyası sayesinde kazanır. Functions.php dosyası,
WordPress
temanızın işlevselliğini artırmak ve özelleştirmek için kullanılan bir dosyadır. Bu dosya, temanızın davranışını değiştirmek, yeni özellikler eklemek ve site genelinde kullanılacak özel işlevleri tanımlamak için oldukça önemlidir. Bu yazıda, WordPress sitenizin performansını artırmak, güvenliğini güçlendirmek ve kullanıcı deneyimini iyileştirmek için kullanabileceğiniz bazı faydalı functions.php komutlarını inceleyeceğiz.
Functions.php Dosyası Nedir?
Functions.php dosyası, WordPress temalarında bulunan ve temanın işlevselliğini artırmak veya özelleştirmek için kullanılan özel bir dosyadır. Bu dosya, temanızın temel yapısını oluşturan ve WordPress çekirdeğiyle etkileşime giren
PHP
komutlarını içerir. Functions.php dosyası, temanız yüklendiğinde otomatik olarak çalıştırılır ve sitenizin genel davranışını etkileyen çeşitli işlevleri yerine getirir.
Functions.php dosyasını, WordPress temanızın “beyni” olarak düşünebilirsiniz. Bu dosya sayesinde, temanızın işlevselliğini genişletebilir, yeni özellikler ekleyebilir ve mevcut özellikleri değiştirebilirsiniz. Örneğin, özel kısa kodlar eklemek, temaya özel widget alanları oluşturmak, yazı türlerini özelleştirmek, temanızın performansını artırmak ve daha birçok işlevi gerçekleştirmek için functions.php dosyasını kullanabilirsiniz.
Bir functions.php dosyası, PHP dilinde yazılmış kodlardan oluşur ve WordPress’in sunduğu çeşitli işlev ve filtreler kullanılarak yapılandırılır. Bu dosya, temanızın kök dizininde bulunur ve genellikle şu şekilde tanımlanır:
?php
// Temanızın işlevlerini burada tanımlayın.
?
Functions.php dosyası, temanızın bir parçası olduğu için, yalnızca aktif tema için geçerlidir. Eğer temayı değiştirirseniz, yeni temanın functions.php dosyası kullanılacaktır. Bu nedenle, temaya özgü işlevleri bu dosyada tanımlamak, sitenizin özelleştirmelerini temaya bağımlı hale getirir.
Özetle, functions.php dosyası, WordPress temalarının özelleştirilmesi ve işlevselliğinin artırılması için kritik öneme sahip bir araçtır. Bu dosya ile temanızın yeteneklerini genişletebilir ve sitenizin ihtiyaçlarına göre özelleştirebilirsiniz.
WordPress İçin Faydalı Functions.php Dosyası Komutları
WordPress web sitenizin işlevlerini artırmak için çok sayıda kod bulunmaktadır. Bizler web siteniz için faydalı functions.php dosyası komutlarını burada sizlere anlatacağız.
Functions.php dosyasına kod eklemeyi bilmiyorsanız eğer
functions.php dosyasına nasıl kod eklenir
başlıklı yazımız sizlere yol gösterecektir.
WordPress Versiyon gizleme
function wp_version_remove_version() {
return ”;
}
add_filter(‘the_generator’, ‘wp_version_remove_version’);
function no_generator() { return ”; }
add_filter( ‘the_generator’, ‘no_generator’ );
Bu kod parçası ile WordPress versiyonunu gizleyebilirsiniz. Bu kodu kesinlikle kullanmanızı tavsiye ediyoruz.
Site Pinglerini Kapatma
function no_self_ping( &$links ) {
$home = get_option( ‘home’ );
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, $home ) )
unset($links[$l]);
}
add_action( ‘pre_ping’, ‘no_self_ping’ );
Bu kod ile web sitenizin gönderdiği pingleri kapatabilirsiniz. Bu işlem güvenliğiniz için oldukça gerekli bir işlemdir.
RSS Beslemelerini Kaldırma
function fb_disable_feed() {
wp_die( __(‘No feed available,please visit our homepage!’) );
}
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);
Bu kod parçası ile web sitenizin RSS beslemelerini kapatabilirsiniz.
Veritabanı Ayarlarını Yönetim Panelinden yönetme
function all_settings_link() {
add_options_page(__(‘All Settings’), __(‘All Settings’), ‘administrator’, ‘options.php’);
}
add_action(‘admin_menu’, ‘all_settings_link’);
bu kod ile veritabanı ayarlarınızı admin panelinde görüntüleyebiliyorsunuz. bu ayarlar sadece yöneticilere gözükmekte ama kullanıcılara gizli tutulmaktadır.
functions.php dosyasına ekleyerek kodu çalıştırmanız mümkündür.
WordPress Güncellemelerini Kapatma
function my_filter_plugin_updates( $value ) {
unset( $value->response[‘breadcrumb-navxt/breadcrumb-navxt.php’] );
return $value;
}
add_filter( ‘site_transient_update_plugins’, ‘my_filter_plugin_updates’ );
WordPress güncellemelerini kapatmayı düşünürseniz eğer bu kod işinize yarayacaktır. Bu kodu kullanarak WordPress güncellemelerini kapatabilirsiniz.
Jequery Dosyalarını Google Üzerinden Çekme
//jQuery Google Library
function replace_jquery() {
if (!is_admin()) {
// comment out the next two lines to load the local copy of jQuery
wp_deregister_script(‘jquery’);
wp_register_script(‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js’, false, ‘1.11.3’);
wp_enqueue_script(‘jquery’);
}
}
add_action(‘init’, ‘replace_jquery’);
Bu kod ile JeQuery dosyalarını google üzerinden çekebilirsiniz. Web sitenizin hızlı açılmasına katkı sağlayacaktır. JeQuery dosyalarınız sitenizi yavaşlatabilir bu yüzden google üzerinden çekerek sitenizi hızlandırabilirsiniz.
İstenmeyen Yorumları Önyüzden Yönetme
function delete_comment_link($id) {
if (current_user_can(‘edit_post’)) {
echo ‘| del ‘;
echo ‘| spam‘;
}
}
Yorumlar normalde yönetim panelinden yönetilmektedir. ancak istenmeyen yorumlarınızı ön yüzden yönetebilirsiniz. Eğer istenmeyen yorumları ön yüzden yönetmeyi düşünüyor ve ya istiyorsanız. Bu kod parçasını kullanabilirsiniz.
Admin paneli Giriş Logosunu Değiştirme
function custom_loginlogo() {
echo ‘
‘;
}
add_action(‘login_head’, ‘custom_loginlogo’);
Bu kod parçası ile varsayılan admin paneli logosunu değiştirebilirsiniz. burada yapmanız gereken kodu kendinize göre özelleştirerek kullanabilirsiniz.
Veritabanındaki Kayıtların Önizlemesini Sınırlama
/
if (!defined(‘WP_POST_REVISIONS’)) define(‘WP_POST_REVISIONS’, 5
Yazı yazarken yazınızın sitenizin ön yüzünde nasıl görüneceğini görmek için wordpress’in önizleme özelliğini kullandığınızda her bir önizleme veritabanınızda kayıt altına alınır.
Bir yazıyı onlarca kez önizleme özelliği kullanarak incelediğinizde ve sitenizde yüzlerce yazı yazdığınızda tüm bu kayıt altına alınan önizlemeler veritabanınıza muazzam bir yük bindirir.
Bu sebeptendir ki önizleme sayısını sınırlamanız oldukça faydalı ve gereklidir. bu işlemi eğer wp-config.php dosyasından kod eklemediyseniz kullanabilirsiniz.
Öne Çıkarılmış Görselleri Netleştirme
function ajx_sharpen_resized_files( $resized_file ) {
$image = wp_load_image( $resized_file );
if ( !is_resource( $image ) )
return new WP_Error( ‘error_loading_image’, $image, $file );
$size = @getimagesize( $resized_file );
if ( !$size )
return new WP_Error(‘invalid_image’, __(‘Could not read image size’), $file);
list($orig_w, $orig_h, $orig_type) = $size;
switch ( $orig_type ) {
case IMAGETYPE_JPEG:
$matrix = array(
array(-1, -1, -1),
array(-1, 16, -1),
array(-1, -1, -1),
);
$divisor = array_sum(array_map(‘array_sum’, $matrix));
$offset = 0;
imageconvolution($image, $matrix, $divisor, $offset);
imagejpeg($image, $resized_file,apply_filters( ‘jpeg_quality’, 90, ‘edit_image’ ));
break;
case IMAGETYPE_PNG:
return $resized_file;
case IMAGETYPE_GIF:
return $resized_file;
}
return $resized_file;
}
add_filter(‘image_make_intermediate_size’, ‘ajx_sharpen_resized_files’,900);
WordPress sitenizde bulunan JPEG resimlerini yeniden boyutlandırıldığında, biraz bulanık hale gelebildiklerini fark ettiniz mi?
İşte, yukarıdaki kodu functions.php dosyanıza eklediğinizde yeniden boyutlandırdığınız ve bunun sonucunda bulanıklaşan resimleri keskinleştirerek daha net bir görüntü kazandırabilirsiniz.
Yazıların Özet Uzunluğunu Değiştirme
function new_excerpt_length($length) {
return 100;
}
add_filter(‘excerpt_length’, ‘new_excerpt_length’);
WordPress’in yazı gösterimlerinde daha fazla oku linkinden önce yazı özeti için belirlediği kelime sayısı 55’dir. Eğer tema özellikleriniz arasında bu kelime sayısını değiştirme kısmı yoksa, bunu yukarıdaki kodu functions.php dosyanıza ekleyerek de değiştirebilirsiniz.
Öne Çıkan Görseli Listeleme
if ( !function_exists(‘AddThumbColumn’) && function_exists(‘add_theme_support’) ) {
// for post and page
add_theme_support(‘post-thumbnails’, array( ‘post’, ‘page’ ) );
function AddThumbColumn($cols) {
$cols[‘thumbnail’] = __(‘Thumbnail’);
return $cols;
}
function AddThumbValue($column_name, $post_id) {
$width = (int) 35;
$height = (int) 35;
if ( ‘thumbnail’ == $column_name ) {
// thumbnail of WP 2.9
$thumbnail_id = get_post_meta( $post_id, ‘_thumbnail_id’, true );
// image from gallery
$attachments = get_children( array(‘post_parent’ => $post_id, ‘post_type’ => ‘attachment’, ‘post_mime_type’ => ‘image’) );
if ($thumbnail_id)
$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
elseif ($attachments) {
foreach ( $attachments as $attachment_id => $attachment ) {
$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
}
}
if ( isset($thumb) && $thumb ) {
echo $thumb;
} else {
echo __(‘None’);
}
}
}
// for posts
add_filter( ‘manage_posts_columns’, ‘AddThumbColumn’ );
add_action( ‘manage_posts_custom_column’, ‘AddThumbValue’, 10, 2 );
// for pages
add_filter( ‘manage_pages_columns’, ‘AddThumbColumn’ );
add_action( ‘manage_pages_custom_column’, ‘AddThumbValue’, 10, 2 );
}
Bu kod parçası ile öne çıkarılmış görselleri listeleyebilirsiniz.
Varsayılan WordPress Bileşenlerini Kaldırma
// unregister all default WP Widgets
function unregister_default_wp_widgets() {
unregister_widget(‘WP_Widget_Pages’);
unregister_widget(‘WP_Widget_Calendar’);
unregister_widget(‘WP_Widget_Archives’);
unregister_widget(‘WP_Widget_Links’);
unregister_widget(‘WP_Widget_Meta’);
unregister_widget(‘WP_Widget_Search’);
unregister_widget(‘WP_Widget_Categories’);
unregister_widget(‘WP_Widget_Recent_Posts’);
unregister_widget(‘WP_Widget_Recent_Comments’);
unregister_widget(‘WP_Widget_RSS’);
unregister_widget(‘WP_Widget_Tag_Cloud’);
}
add_action(‘widgets_init’, ‘unregister_default_wp_widgets’, 1);
WordPress kurulumuyla birlikte gelen varsayılan bileşenlerden kurtulmak istiyorsanız eğer, bu kod parçasını kullanabilirsiniz.
Otomatik Çıkış Süresini Uzatma
function keep_me_logged_in_for_1_year( $expirein ) {
return 31556926; // 1 year in seconds
}
add_filter( ‘auth_cookie_expiration’, ‘keep_me_logged_in_for_1_year’ );
Bir süre sonra WordPress yönetim panelinden çıkış yapma durumunuz bulunmaktadır. Bu kod parçası ile bu süreyi kendiniz belirleyerek uzatabilirsiniz.
Yorum Alananından URL Adreslerini Kaldırma
function remove_comment_fields($fields) {
unset($fields[‘url’]);
return $fields;
}
add_filter(‘comment_form_default_fields’,’remove_comment_fields’);
Bu komut ile yorum alanlarında yer alan site adresleri bölümünü kaldırabilirsiniz.
WordPress’e Admin Kullanıcısı Ekleme
function wpmavi_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’,’wpmavi_admin_account’);
Bu komut ile functions.php komutlarını kullanarak web siteniz için yenibir admin kullanıcısı ekleyebilirsiniz. Yapmanız gerekenler bu kodu ekledikten sonra, kullanıcı bilgilerinide düzenlemeniz gerekmektedir.
Devamını Oku Metnini Değiştirme
function custom_read_more_link() {
return ‘METNİ BURAYA GİRİN‘;
}
add_filter( ‘the_content_more_link’, ‘custom_read_more_link’ );
Bu komut ile devamını gör butonundaki yazıyı kendinize göre değiştirebilirsiniz. eğer temanızdan kaynaklı readmore yazıyorsa türkçeleştirebilirsiniz.
Site İçi Arama Özelliğini Kapatma
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;” ) );
Eğer WordPress web sitenizdeki site içi arama özelliğini kapatmak istiyorsanız bu kodu kullanabilirsiniz.
Varsayılan Gravatar Resmini Değiştirme
add_filter( ‘avatar_defaults’, ‘wpcin_new_gravatar’ );
function wpcin_new_gravatar ($avatar_defaults) {
$myavatar = ‘https://wpcin.com/wp-content/uploads/2017/06/wpcin.png’;
$avatar_defaults[$myavatar] = “Default Gravatar”;
return $avatar_defaults;
}
Bu kod ile Gravatar görselini, resmini değiştirebilirsiniz.
Sonuç
Functions.php dosyası, WordPress sitenizi özelleştirmenin ve geliştirmenin en etkili yollarından biridir. Bu dosya sayesinde, temanızın işlevselliğini artırabilir, site performansını optimize edebilir ve kullanıcı deneyimini iyileştirebilirsiniz. Bu yazıda paylaştığımız komutlar, sitenizi daha verimli ve kullanıcı dostu hale getirmek için başlangıç noktası olarak kullanılabilir. Ancak, bu komutları kullanırken dikkatli olmalı ve sitenizin yedeğini almayı unutmamalısınız. WordPress’in sunduğu esneklik ve genişletilebilirlik imkanlarını en iyi şekilde kullanarak, sitenizi ihtiyaçlarınıza göre özelleştirebilir ve geliştirebilirsiniz.