Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress İşlevler Dosyası için 46 Son Derece Yararlı Püf Noktası

Editoryal Not: WPBeginner üzerindeki ortak bağlantılardan komisyon kazanıyoruz. Komisyonlar, editörlerimizin görüşlerini veya değerlendirmelerini etkilemez. Editoryal Süreç hakkında daha fazla bilgi edinin.

WordPress fonksiyonlar dosyası ile neler yapabileceğinizi merak ediyor musunuz?

Tüm WordPress temaları bir functions.php dosyası ile birlikte gelir. Bu dosya, tema geliştiricilerin ve genel kullanıcıların WordPress’e kolayca özel kod eklemesine olanak tanıyan bir eklenti görevi görür.

Bu makalede, WordPress fonksiyonlar dosyası için bazı yararlı püf noktaları göstereceğiz.

Handy WordPress functions file tips and hacks

WordPress’te İşlevler Dosyası Nedir?

functions.php dosyası, tüm ücretsiz ve premium WordPress temalarıyla birlikte gelen bir WordPress tema dosyasıdır.

Bir eklenti gibi davranır ve tema geliştiricilerin tema özelliklerini tanımlamasına olanak tanır. Kullanıcılar ayrıca WordPress’e özel kod parçacıklarını eklemek için de kullanabilirler.

Ancak, özel kodu temanızın functions dosyasında tutmak, özelleştirmelerinizi kaydetmenin en iyi yolu değildir. Temanızı güncellerseniz functions.php dosyasının üzerine yazılır ve özel kod parçacıklarınızı kaybedersiniz.

Bunun yerine, herkesin herhangi bir tema, eklenti veya çekirdek WordPress dosyasını düzenlemeden WordPress web sitenize kod parçacıkları eklemenizi sağlayan ücretsiz bir eklenti olan WPCode‘u kullanmasını öneririz.

En iyi yanı, tüm özel kodlarınızın ayrı olarak kaydedilmesidir, bu nedenle herhangi bir WordPress güncellemesi bunları kaldırmaz.

Bonus olarak, WPCode eklentisi önceden yapılandırılmış kod parçacıklarından oluşan kapsamlı bir kütüphaneye sahiptir (bu listedeki birçok kod parçacığı dahil). Bu kod parçacıklarını birkaç tıklamayla dağıtabilirsiniz.

wpcode library

Bunu söyledikten sonra, işte bu makalede ele alacağımız öğelerin bir listesi. İlginizi çeken bir tanesine atlayabilir veya sadece takip edebilirsiniz:

Bu Kod Parçacıklarını Web Sitenize Nasıl Ekleyebilirsiniz?

Başlamadan önce, bu makaledeki kod parçacıklarını WordPress işlevler dosyanıza nasıl ekleyeceğinize bakalım.

1. WPCode Kullanarak İşlevler Dosyasına Özel Kod Ekleme (Önerilen)

Öncelikle WPCode eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına ilişkin adım adım kılavuzumuza bakın.

Etkinleştirmenin ardından Code Snippets ” + Snippet Ekle sayfasına gidin. WPCode’un kod kitaplığında birçok yararlı özel kod parçacığının zaten eklenmiş olduğunu göreceksiniz.

Add snippet

Kod parçacığınız kütüphanedeki parçacıklarla aynı şeyi yapıyorsa, oraya zaten eklenmiş olanı deneyebilirsiniz.

Alternatif olarak, özel kod parçacığınızı eklemeye devam etmek için ‘boş snippet’ bağlantısını tıklayın.

Bir sonraki ekranda, özel kodunuz için bir başlık girin. Bu, bu kod parçacığının ne yaptığını tanımlamanıza yardımcı olacak herhangi bir şey olabilir.

Adding your custom code

Ardından, ‘Kod Türü’nü seçmeniz gerekir. Eğer functions.php dosyasında çalışan bir kod ekliyorsanız, ‘PHP Snippet’ seçeneğini seçmelisiniz.

Bunun altında, özel kodunuzu kopyalayıp ‘Kod Önizleme’ kutusuna yapıştırmanız gerekir.

Son olarak, snippet’inizi ‘Aktif’ olarak ayarlamanız ve ‘Snippet’i Kaydet’ düğmesine tıklamanız gerekir.

Activate and save

Kaydettiğiniz snippet artık functions.php dosyasına eklemiş olsaydınız çalışacağı gibi çalışacaktır.

Gerektiğinde daha fazla snippet eklemek için işlemi tekrarlayabilirsiniz. Ayrıca bir snippet’i silmeden de devre dışı bırakabilirsiniz.

2. Özel Kodu Doğrudan İşlevler Dosyasına Ekleme

WPCode yöntemi, temanın işlevler dosyasına kod eklemekten her zaman daha iyidir.

Ancak, bazı kullanıcılar müşterinin özel WordPress teması için kod yazıyor olabilir veya sadece functions.php dosyasına kod eklemeyi tercih edebilir.

Bu durumda, WordPress temanızın functions.php dosyasına nasıl kod ekleyebileceğiniz aşağıda açıklanmıştır.

İlk olarak, bir FTP istemcisi kullanarak WordPress web sitenize bağlanın. Bağlandıktan sonra /wp-content/themes/your-wordpress-theme/ klasörüne gidin.

Edit functions.php file

Orada functions.php dosyasını bulacaksınız. Sadece sağ tıklayın ve düzenlemek için seçin veya düzenlemek için dosyayı bilgisayarınıza indirin.

Notepad veya TextEdit gibi herhangi bir düz metin düzenleyicisi kullanarak düzenleyebilirsiniz.

Ardından, functions.php dosyasının en altına gidin ve kod parçacığınızı buraya yapıştırın. Değişikliklerinizi kaydedebilir ve güncellenmiş functions.php dosyasını tema klasörünüze yükleyebilirsiniz.

Artık özel kodunuzu çalışırken görmek için WordPress web sitenizi ziyaret edebilirsiniz.

Şimdi WordPress fonksiyonlar dosyası için 46 farklı faydalı numaraya göz atalım.

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

Her zaman WordPress’in en son sürümünü kullanmalısınız. Ancak, WordPress sürüm numarasını sitenizden kaldırmak isteyebilirsiniz.

Bu kod parçacığını fonksiyon dosyanıza veya yeni bir WPCode parçacığı olarak 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 mi istiyorsunuz? Özel bir gösterge paneli logosu eklemek sürecin ilk adımıdır.

İlk olarak, özel logonuzu temanızın images klasörüne custom-logo.png olarak yüklemeniz gerekir. Özel logonuz 16×16 piksel boyutunda 1:1 oranında (kare görüntü) olmalıdır.

Bundan sonra, bu kodu temanızın işlevler dosyasına veya yeni bir WPCode snippet’i olarak 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');

Daha fazla ayrıntı için WordPress’te özel gösterge paneli logosu ekleme kılavuzumuza bakın.

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

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 şekilde 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.wpbeginner.com" target="_blank">WPBeginner</a></p>';

}

add_filter('admin_footer_text', 'remove_footer_admin');

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

Admin footer

4. WordPress’te Özel Pano Widget’ları Ekleme

Muhtemelen birçok eklenti ve temanın WordPress kontrol paneline eklediği widget’ları görmüşsünüzdür. Aşağıdaki kodu yapıştırarak kendiniz de 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.wpbeginner.com" target="_blank">WPBeginner</a></p>';
}

İşte böyle görünecek:

Custom dashboard widget

Ayrıntılar için WordPress’te özel gösterge paneli widget’larının nasıl ekleneceğine ilişkin eğitimimize bakın.

5. WordPress’te Varsayılan Gravatarı Değiştirme

Bloglarda varsayılan gizemli adam avatarını gördünüz mü? Bunu kolayca kendi markalı özel avatarınızla değiştirebilirsiniz.

Varsayılan avatar olarak kullanmak istediğiniz resmi yükleyin ve bu kodu işlevler dosyanıza veya WPCode eklentisine ekleyin:

function wpb_custom_default_gravatar( $avatar_defaults ) {
	$myavatar = 'https://example.com/wp-content/uploads/2022/10/dummygravatar.png';
	$avatar_defaults[$myavatar] = 'Default Gravatar';
	return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'wpb_custom_default_gravatar' );

Ş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ı değiştirme kılavuzumuza bakın.

6. WordPress Altbilgisinde Dinamik Telif Hakkı Tarihi

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

Bu kod WordPress altbilgisine dinamik bir telif hakkı tarihi ekleyebilir:

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 fonksiyon ilk gönderinizin tarihini ve son gönderinizin tarihini arar. Daha sonra fonksiyonu çağırdığınız her yerde yılları döndürür.

İpucu: WPCode eklentisini kullanıyorsanız, iki kod parçacığını birleştirebilirsiniz. Bundan sonra, kod parçacığı ayarlarının ‘Ekleme’ bölümünde ‘Site Genelinde Altbilgi’ konumunu seçin. Bu, temanızın footer.php dosyasını düzenlemeden telif hakkı tarihini otomatik olarak altbilgide gösterecektir.

Add to footer using WPCode

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

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

WordPress blogunuzun arka plan rengini her ziyarette ve sayfanın yeniden yüklenmesinde rastgele değiştirmek mi istiyorsunuz? İşte bunu kolayca nasıl yapacağınız.

Öncelikle bu kodu temanızın functions dosyasına veya WPCode eklentisine ekleyin:

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 bu satırla değiştirin:

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

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

Random background colors

Daha fazla ayrıntı ve alternatif yöntemler için WordPress’te arka plan rengini rastgele değiştirme 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’si alanları kilitlenecek ve düzenlenemeyecektir.

Bunun yerine, bunu düzeltmek için bu kodu işlevler dosyanıza ekleyin:

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

example.com yerine kendi alan adınızı yazmayı unutmayın.

Giriş yaptıktan sonra, WordPress yönetici alanındaki Ayarlar sayfasına gidebilir ve URL’leri ayarlayabilirsiniz.

Bundan sonra, fonksiyonlar dosyasına veya WPCode’a eklediğiniz kodu kaldırmalısınız. Aksi takdirde, sitenize her erişildiğinde bu URL’leri güncellemeye devam edecektir.

9. WordPress’te Ek Görsel Boyutları Ekleme

WordPress, bir resim yüklediğinizde otomatik olarak çeşitli resim boyutları oluşturur. Temanızda kullanmak için ek görsel boyutları da oluşturabilirsiniz.

Bu kodu temanızın işlevler dosyasına veya bir WPCode parçacığı olarak eklemeniz yeterlidir:

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. Gereksinimlerinizi karşılamak için kodu değiştirmekten çekinmeyin.

Daha sonra 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ı oluşturma kılavuzumuza bakın.

10. Temanıza Yeni Gezinti Menüleri Ekleme

WordPress, tema geliştiricilerinin gezinti menülerini tanımlamasına ve ardından görüntülemesine olanak tanır.

Temanızda yeni bir menü konumu tanımlamak için bu kodu temanızın işlevler dosyasına veya yeni bir WPCode snippet’i olarak ekleyebilirsiniz:

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

Artık WordPress panonuzdaki Görünüm ” Menüler bölümüne gidebilir ve adresinde tema konumu seçeneği olarak ‘Özel Menüm ‘ü görebilirsiniz.

Custom menu location

Not: Bu kod, tam site düzenleme özelliğine sahip blok temalarda da çalışacaktır. Eklemek Görünüm altındaki Menüler ekranını etkinleştirecektir.

Şimdi bu kodu temanızda navigasyon menüsünü görüntülemek istediğiniz yere 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 Profili Alanları Ekleme

WordPress’te yazar profillerinize ekstra alanlar eklemek mi istiyorsunuz? Bu kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak 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.

New profile fields

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

<?php echo get_the_author_meta('twitter') ?>

WordPress kaydında ek kullanıcı profili alanları ekleme kılavuzumuzu da görmek isteyebilirsiniz.

12. WordPress Temalarında Widget’a Hazır Alanlar veya Kenar Çubukları Ekleme

Bu en çok kullanılan kod parçacıklarından biridir ve birçok geliştirici WordPress temalarına widget’a hazır alanlar veya kenar çubukları eklemeyi zaten biliyor. Ancak bilmeyenler için bu listede olmayı hak ediyor.

Aşağıdaki kodu functions.php dosyanıza veya yeni bir WPCode snippet’i olarak yapıştırabilirsiniz:

// 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' );

Not: Bu kod, tam site düzenleme özelliğine sahip blok temalarda da çalışacaktır. Eklendiğinde Görünüm altındaki Widget’lar ekranı etkinleştirilecektir.

Artık Görünüm ” Widget ‘lar sayfasını ziyaret edebilir ve yeni özel widget alanınızı görebilirsiniz.

Custom widget area

Bu kenar çubuğunu veya widget’a hazır alanı web sitenizde görüntülemek için, görüntülemek istediğiniz şablona aşağıdaki kodu eklemeniz gerekir:

<?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’a hazır alanların ve kenar çubuklarının nasıl ekleneceğine ilişkin kılavuzumuza bakın.

13. RSS Akışı Altbilgisini Değiştirme

Reklamlarını RSS beslemelerinde her gönderinin altına ekleyen bloglar gördünüz mü? Bunu basit bir işlevle kolayca gerçekleştirebilirsiniz. Aşağıdaki kodu yapıştırmanız yeterli:

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

Daha fazla bilgi için, içerik ekleme ve RSS beslemelerinizi tamamen değiştirme hakkındaki kılavuzumuza bakın.

14. RSS Beslemelerine Öne Çıkan Görseller Ekleme

Gönderi küçük resmi veya öne çıkan resimler genellikle yalnızca site tasarımınızda görüntülenir. Aşağıdaki kodu kullanarak 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 resimlerinin nasıl ekleneceğine ilişkin kılavuzumuza bakın.

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

Bilgisayar korsanları, yanlış kullanıcı adı veya şifre girip girmediklerini tahmin etmek için giriş hatalarını kullanabilir. WordPress’te giriş hatalarını gizleyerek giriş alanınızı ve WordPress web sitenizi daha güvenli hale getirebilirsiniz.

Aşağıdaki kodu temanızın işlevler dosyasına veya yeni bir WPCode parçacığı olarak eklemeniz yeterlidir:

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

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

Custom login errors

Daha fazla bilgi için WordPress hata mesajlarında oturum açma ipuçlarını devre dışı bırakma eğitimimize bakın.

16. WordPress’te E-posta ile Girişi Devre Dışı Bırakma

WordPress, kullanıcıların kullanıcı adları veya e-posta adresleriyle giriş yapmalarına olanak tanır. Bu kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak ekleyerek WordPress’te e-posta ile oturum açmayı kolayca devre dışı bırakabilirsiniz:

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

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

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

WordPress sitenizin arama özelliğini devre dışı bırakmak istiyorsanız, bu kodu işlevler dosyanıza veya yeni bir WPCode parçacığına eklemeniz yeterlidir:

function wpb_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;
}}

Bu kod basitçe arama sorgusunu değiştirerek devre dışı bırakır ve arama sonuçları yerine 404 hatası döndürür.

Daha fazla bilgi için WordPress arama özelliğini devre dışı bırakma eğitimimize bakın.

Profesyonel İpucu: WordPress aramadan vazgeçmek yerine SearchWP‘yi denemenizi öneririz. Web sitenize güçlü ve özelleştirilebilir bir arama özelliği eklemenizi sağlayan piyasadaki en iyi WordPress arama eklentisidir.

18. RSS Akışında Gönderileri Geciktirme

Bazen dilbilgisi hatası veya yazım hatası olan bir makale yayınlayabilirsiniz.

Hata yayına girer ve RSS beslemesi abonelerinize dağıtılır. WordPress blogunuzda e-posta abonelikleriniz varsa, bu aboneler de bir bildirim alacaktır.

RSS beslemenizdeki gönderileri geciktirmek için bu kodu temanızın işlevler dosyasına veya yeni bir WPCode snippet’i olarak 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 $wait veya gecikme süresi olarak 10 dakika kullandık. Bunu istediğiniz herhangi bir dakika sayısıyla değiştirmekten çekinmeyin.

Bir eklenti yöntemi ve daha fazla bilgi için, gönderilerin WordPress RSS beslemesinde görünmesini nasıl geciktireceğinize ilişkin ayrıntılı kılavuzumuza bakın.

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

Gönderilerinizde alıntıdan sonra görünen metni değiştirmek mi istiyorsunuz? Bu kodu temanızın fonksiyonlar dosyasına veya yeni bir WPCode snippet’i olarak 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ırakma

Tüm web sitelerinin RSS beslemelerine ihtiyacı yoktur. WordPress sitenizde RSS beslemelerini devre dışı bırakmak istiyorsanız, bu kodu temanızın işlevler dosyasına veya yeni bir WPCode snippet’i olarak ekleyin:

function new_excerpt_more($more) {
 global $post;
 return '<a class="moretag" 
 href="'. get_permalink($post->ID) . '">Your Read More Link Text</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

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ştirme

WordPress alıntı uzunluklarını 55 kelime ile sınırlar. Bunu değiştirmeniz gerekiyorsa bu kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak 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ını 100 olarak değiştirmeniz yeterlidir.

Alternatif yöntemler için WordPress alıntılarını özelleştirme (kodlama gerektirmez) hakkındaki kılavuzumuza göz atmak isteyebilirsiniz.

22. WordPress’te Yönetici Kullanıcı Ekleme

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.

Önemli: WordPress sitenize giriş yaptıktan sonra, kodu işlevler dosyanızdan silmeyi unutmayın.

Bu konuda daha fazla bilgi için WordPress’te FTP kullanarak yönetici kullanıcı ekleme eğitimimize göz atın.

23. Giriş Sayfasında Dil Değiştiriciyi Devre Dışı Bırak

Çok dilli bir web sitesi işletiyorsanız, WordPress giriş sayfasında bir dil seçici görüntüler. Aşağıdaki kodu functions.php dosyanıza veya yeni bir WPCode snippet’i olarak ekleyerek kolayca devre dışı bırakabilirsiniz:

add_filter( 'login_display_language_dropdown', '__return_false' );

24. WordPress’te Toplam Kayıtlı Kullanıcı Sayısını Gösterme

WordPress sitenizdeki toplam kayıtlı kullanıcı sayısını göstermek mi istiyorsunuz? Bu kodu temanızın işlevler dosyasına veya yeni bir WPCode parçacığı olarak eklemeniz yeterlidir:

function wpb_user_count() {
$usercount = count_users();
$result = $usercount['total_users'];
return $result;
}
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Bu kod, sitenizdeki toplam kayıtlı kullanıcı sayısını görüntülemenizi sağlayan bir kısa kod oluşturur.

Şimdi tek yapmanız gereken [user_count] kısa kodunu toplam kullanıcı sayısını göstermek istediğiniz yazınıza veya sayfanıza eklemek.

Daha fazla bilgi ve eklenti yöntemi için WordPress’te toplam kayıtlı kullanıcı sayısını görüntüleme eğitimimize bakın.

25. Belirli Kategorileri RSS Akışından Çıkarın

WordPress RSS beslemenizden belirli kategorileri hariç tutmak mı istiyorsunuz? Bu kodu temanızın işlevler dosyasına veya yeni bir WPCode snippet’i olarak ekleyebilirsiniz:

function exclude_category($query) {
	if ( $query->is_feed ) {
		$query->set('cat', '-5, -2, -3');
	}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');

26. WordPress Yorumlarında URL Bağlantılarını Devre Dışı Bırakma

WordPress varsayılan olarak bir URL’yi yorumlarda tıklanabilir bir bağlantıya dönüştürür.

Aşağıdaki kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak ekleyerek bunu durdurabilirsiniz:

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

Ayrıntılar için WordPress yorumlarında otomatik bağlantının nasıl devre dışı bırakılacağına ilişkin makalemize bakın.

27. WordPress Yazılarına Tek ve Çift CSS Sınıfları Ekleme

WordPress temalarının WordPress yorumları için tek veya çift sınıf kullandığını görmüş olabilirsiniz. Bu, kullanıcıların bir yorumun nerede bittiğini ve bir sonrakinin nerede başladığını görselleştirmelerine yardımcı olur.

Aynı tekniği WordPress yazılarınız için de kullanabilirsiniz. Estetik açıdan hoş görünür ve kullanıcıların çok sayıda içeriğe sahip sayfaları hızla taramasına yardımcı olur.

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

function oddeven_post_class ( $classes ) {
   global $current_class;
   $classes[] = $current_class;
   $current_class = ($current_class == 'odd') ? 'even' : 'odd';
   return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';

Bu kod basitçe WordPress yazılarına tek veya çift sınıfı ekler. Artık bunları farklı şekilde biçimlendirmek için özel CSS ek leyebilirsiniz.

İşte başlamanıza yardımcı olacak bazı örnek kodlar:

.even {
background:#f0f8ff;
}
.odd {
 background:#f4f4fb;
}

Sonuç şuna benzer bir şey olacaktır:

Alternating background colors

Daha ayrıntılı talimatlara mı ihtiyacınız var? WordPress temalarında yazılarınıza tek/çift sınıfları nasıl ekleyeceğinize ilişkin eğitimimize göz atın.

28. WordPress’te Yüklenecek Ek Dosya Türleri Ekleme

WordPress varsayılan olarak en sık kullanılan dosya türlerinden sınırlı sayıda yüklemenize izin verir. Ancak, diğer dosya türlerine izin verecek şekilde genişletebilirsiniz.

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

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);

Bu kod SVG ve PSD dosyalarını WordPress’e yüklemenizi sağlar.

İzin vermek istediğiniz dosya türleri için mime türlerini bulmanız ve ardından bunları kodda kullanmanız gerekecektir.

Bu konu hakkında daha fazla bilgi için WordPress’te yüklenecek ek dosya türlerinin nasıl ekleneceğine ilişkin eğitimimize göz atın.

WordPress varsayılan olarak giden e-postaları göndermek için var olmayan bir e-posta adresi (wordpress@yourdomain.com) kullanır.

Bu e-posta adresi, e-posta hizmet sağlayıcıları tarafından spam olarak işaretlenebilir.

WP Mail SMTP eklentisini kullanmak bunu düzeltmenin doğru yoludur.

WP Mail SMTP

E-posta teslim edilebilirlik sorunlarını giderir ve WordPress e-postalarınızı göndermek için gerçek bir e-posta adresi seçmenize olanak tanır.

Daha fazla bilgi edinmek için WordPress’in e-posta göndermeme sorununu nasıl çözeceğinize ilişkin kılavuzumuza bakın.

Öte yandan, bunu hızlı bir şekilde gerçek bir e-posta adresine dönüştürmek istiyorsanız, aşağıdaki kodu işlevler dosyanıza veya yeni bir WPCode snippet’i olarak ekleyebilirsiniz:

// Function to change email address
function wpb_sender_email( $original_email_address ) {
    return 'tim.smith@example.com';
}
 
// Function to change sender name
function wpb_sender_name( $original_email_from ) {
    return 'Tim Smith';
}
 
// Hooking up our functions to WordPress filters 
add_filter( 'wp_mail_from', 'wpb_sender_email' );
add_filter( 'wp_mail_from_name', 'wpb_sender_name' );

E-posta adresini ve adı kendi bilgilerinizle değiştirmeyi unutmayın.

Bu yöntemle ilgili sorun, WordPress’in e-posta göndermek için hala mail() işlevini kullanıyor olması ve bu tür e-postaların büyük olasılıkla spam ile sonuçlanmasıdır.

Daha iyi alternatifler için, giden WordPress e-postalarında gönderen adının nasıl değiştirileceğine ilişkin eğitimimize bakın.

30. WordPress Yazılarına Yazar Bilgi Kutusu Ekleme

Çok yazar lı bir site işletiyorsanız ve yazılarınızın sonunda yazar biyografilerini sergilemek istiyorsanız bu yöntemi deneyebilirsiniz.

Bu kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak ekleyerek başlayın:

function wpb_author_info_box( $content ) {

global $post;

// Detect if it is a single post with a post author
if ( is_single() && isset( $post->post_author ) ) {

// Get author's display name
$display_name = get_the_author_meta( 'display_name', $post->post_author );

// If display name is not available then use nickname as display name
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );

// Get author's biographical information or description
$user_description = get_the_author_meta( 'user_description', $post->post_author );

// Get author's website URL
$user_website = get_the_author_meta('url', $post->post_author);

// Get link to the author archive page
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
	
// Get User Gravatar
$user_gravatar =  get_avatar( get_the_author_meta( 'ID' , $post->post_author) , 90 );

if ( ! empty( $display_name ) )

$author_details = '<p class="author_name">About ' . $display_name . '</p>';

if ( ! empty( $user_description ) )
// Author avatar and bio will be displayed if author has filled in description. 

$author_details .= '<p class="author_details">' . $user_gravatar . nl2br( $user_description ). '</p>';

$author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>';  

// Check if author has a website in their profile
if ( ! empty( $user_website ) ) {

// Display author website link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow noopener">Website</a></p>';

} else {
// if there is no author website then just close the paragraph
$author_details .= '</p>';
}

// Pass all this info to post content
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}

// Add our function to the post content filter
add_action( 'the_content', 'wpb_author_info_box' );

// Allow HTML in author bio section
remove_filter('pre_user_description', 'wp_filter_kses');

Ardından, daha iyi görünmesi için bazı özel CSS ‘ler eklemeniz gerekecektir.

Bu örnek CSS’yi bir başlangıç noktası olarak kullanabilirsiniz:

.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}

.author_name{
font-size:16px;
font-weight: bold;
}

.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}

Yazar kutunuz bu şekilde görünecektir:

Author bio box

Bir eklenti yöntemi ve daha ayrıntılı talimatlar için WordPress yazılarına yazar bilgi kutusu ekleme hakkındaki makalemize göz atın.

31. WordPress’te XML-RPC’yi Devre Dışı Bırakma

XML-RPC, üçüncü taraf uygulamaların WordPress sitenizle uzaktan iletişim kurmasını sağlayan bir yöntemdir. Bu, güvenlik sorunlarına neden olabilir ve bilgisayar korsanları tarafından istismar edilebilir.

WordPress’te XML-RPC’yi kapatmak için aşağıdaki kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak ekleyin:

add_filter('xmlrpc_enabled', '__return_false');

Daha fazla bilgi için WordPress’te XML-RPC’nin nasıl devre dışı bırakılacağına ilişkin makalemizi okumak isteyebilirsiniz.

32. Öne Çıkan Görselleri Yazılara Otomatik Olarak Bağlayın

WordPress temanız öne çıkan görselleri tam makalelere otomatik olarak bağlamıyorsa, bu yöntemi deneyebilirsiniz.

Bu kodu temanızın işlevler dosyasına veya yeni bir WPCode snippet’i olarak eklemeniz yeterlidir:

function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {

If (! is_singular()) { 

$html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
return $html;

} else { 

return $html;

}

}
add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );

WordPress’te öne çıkan görselleri yazılara otomatik olarak nasıl bağlayacağınızla ilgili makalemizi okumak isteyebilirsiniz.

33. WordPress’te Blok Düzenleyiciyi Devre Dışı Bırakma

WordPress, içerik yazmak ve web sitenizi düzenlemek için modern ve sezgisel bir editör kullanır. Bu editör, yaygın olarak kullanılan içerik ve düzen öğeleri için bloklar kullanır, bu nedenle Blok Düzenleyici olarak adlandırılır.

Ancak, bazı kullanım durumlarında eski Klasik Düzenleyiciyi kullanmanız gerekebilir.

Blok düzenleyiciyi devre dışı bırakmanın en kolay yolu Klasik Düzenleyici eklentisini kullanmaktır. Ancak, ayrı bir eklenti kullanmak istemiyorsanız, aşağıdaki kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak eklemeniz yeterlidir:

add_filter('gutenberg_can_edit_post', '__return_false', 5);
add_filter('use_block_editor_for_post', '__return_false', 5);

Daha fazla ayrıntı için Blok Düzenleyicinin nasıl devre dışı bırakılacağı ve Klasik Düzenleyicinin nasıl kullanılacağı hakkındaki eğitimimize bakın.

34. WordPress’te Blok Widget’larını Devre Dışı Bırakma

WordPress, WordPress 5.8‘de klasik widget’lardan blok widget’lara geçiş yaptı. Yeni blok widget’larının kullanımı daha kolaydır ve klasik widget’lara göre size daha fazla tasarım kontrolü sağlar.

Ancak bazı kullanıcılar yine de klasik widget’ları kullanmak isteyebilir. Bu durumda, aşağıdaki kodu temanızın işlevler dosyasında veya yeni bir WPCode snippet’i olarak kullanabilirsiniz:

add_filter( 'use_widgets_block_editor', '__return_false' );

Daha fazla ayrıntı için, widget bloklarını devre dışı bırakma (klasik widget’ları geri yükleme) hakkındaki makalemize bakın.

35. WordPress’te Son Güncellenme Tarihini Görüntüleme

Ziyaretçiler WordPress blogunuzdaki bir yazıyı veya sayfayı görüntülediğinde, WordPress temanız yazının yayınlandığı tarihi gösterecektir. Bu, çoğu blog ve statik web sitesi için uygundur.

Ancak WordPress, eski makalelerin düzenli olarak güncellendiği web siteleri tarafından da kullanılır. Bu yayınlarda, yazının en son değiştirildiği tarih ve saati görüntülemek çok önemlidir.

Last updated date

Temanızın işlevler dosyasında veya yeni bir WPCode parçacığı olarak aşağıdaki kodu kullanarak son güncelleme tarihini gösterebilirsiniz:

$u_time          = get_the_time( 'U' );
$u_modified_time = get_the_modified_time( 'U' );
// Only display modified date if 24hrs have passed since the post was published.
if ( $u_modified_time >= $u_time + 86400 ) {

	$updated_date = get_the_modified_time( 'F jS, Y' );
	$updated_time = get_the_modified_time( 'h:i a' );

	$updated = '<p class="last-updated">';

	$updated .= sprintf(
	// Translators: Placeholders get replaced with the date and time when the post was modified.
		esc_html__( 'Last updated on %1$s at %2$s' ),
		$updated_date,
		$updated_time
	);
	$updated .= '</p>';

	echo wp_kses_post( $updated );
}

Alternatif yöntemler ve daha fazla ayrıntı için WordPress’te son güncelleme tarihinin nasıl görüntüleneceğine ilişkin kılavuzumuza bakın.

36. Yüklemeler için Küçük Harfli Dosya Adları Kullanın

Çok yazarlı bir web sitesi işletiyorsanız, yazarlar dosya adları büyük ve küçük harf olan resimler yükleyebilir.

Aşağıdaki kodun eklenmesi tüm dosya adlarının küçük harfle yazılmasını sağlar:

add_filter( 'sanitize_file_name', 'mb_strtolower' );

Not: Kod, mevcut yüklemeler için dosya adlarını değiştirmeyecektir. Alternatif yöntemler için WordPress’te görsellerin ve medya dosyalarının nasıl yeniden adlandırılacağına ilişkin eğitimimize bakın.

37. Ön Uçta WordPress Yönetici Çubuğunu Devre Dışı Bırakma

Varsayılan olarak, oturum açmış bir kullanıcı web sitenizi görüntülediğinde WordPress yönetici çubuğunu en üstte görüntüler.

Site yöneticileri hariç tüm kullanıcılar için yönetici çubuğunu devre dışı bırakabilirsiniz. Aşağıdaki kodu fonksiyon dosyanıza veya yeni bir WPCode snippet’i olarak eklemeniz yeterlidir:

/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );

Daha fazla ayrıntı için, WordPress yönetici çubuğunun yöneticiler dışındaki tüm kullanıcılar için nasıl devre dışı bırakılacağına ilişkin kılavuzumuza bakın.

38. Yönetici Alanındaki Howdy Yönetici Metnini Değiştirme

WordPress, WordPress panosunda bir ‘Howdy Admin’ karşılaması görüntüler. ‘Admin’, oturum açan kullanıcının adıyla değiştirilir.

Howdy greeting

Aşağıdaki kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak ekleyerek varsayılan karşılama mesajını kendi mesajınızla değiştirebilirsiniz:

function wpcode_snippet_replace_howdy( $wp_admin_bar ) {

	// Edit the line below to set what you want the admin bar to display intead of "Howdy,".
	$new_howdy = 'Welcome,';

	$my_account = $wp_admin_bar->get_node( 'my-account' );
	$wp_admin_bar->add_node(
		array(
			'id'    => 'my-account',
			'title' => str_replace( 'Howdy,', $new_howdy, $my_account->title ),
		)
	);
}

add_filter( 'admin_bar_menu', 'wpcode_snippet_replace_howdy', 25 );

Daha fazla ayrıntı için WordPress’te ‘Howdy Admin’ mesajını değiştirme makalemize bakın.

39. Blok Düzenleyicide Kod Düzenlemeyi Devre Dışı Bırakma

Blok düzenleyici, Kod Düzenleyiciye geçmenizi sağlar. Bu, manuel olarak bazı HTML kodları eklemeniz gerektiğinde kullanışlıdır.

Ancak, bu özelliği site yöneticileriyle sınırlı tutmak isteyebilirsiniz.

Bunu başarmak için aşağıdaki kodu işlevler dosyanıza veya bir WPCode parçacığı olarak ekleyebilirsiniz:

add_filter( 'block_editor_settings_all', function ( $settings ) {
	
	$settings['codeEditingEnabled'] = current_user_can( 'manage_options' );

	return $settings;
} );

40. Eklenti / Tema Dosyası Düzenleyicisini Devre Dışı Bırak

WordPress, eklenti dosyalarını düzenleyebileceğiniz yerleşik bir düzenleyici ile birlikte gelir. Bunu Eklentiler ” Eklenti Dosyası Düzenleyicisi sayfasına giderek görebilirsiniz.

Plugin file editor in WordPress

Benzer şekilde, WordPress klasik temalar için Görünüm ” Tema Dosyası Düzenleyicisi adresinde bir dosya düzenleyicisi de içerir.

Not: Bir blok teması kullanıyorsanız, tema dosyası düzenleyicisi görünmez.

Theme file editor

Temanızda veya eklentinizde değişiklik yapmak için bu düzenleyicileri kullanmanızı önermiyoruz. Koddaki küçük bir hata web sitenizi tüm kullanıcılar için erişilemez hale getirebilir.

Eklenti/tema düzenleyicisini devre dışı bırakmak için aşağıdaki kodu işlevler dosyanıza veya bir WPCode parçacığı olarak ekleyin:

// Disable the Plugin and Theme Editor
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
	define( 'DISALLOW_FILE_EDIT', true );
}

Daha fazla ayrıntı için WordPress’te eklenti/tema düzenleyicisinin nasıl devre dışı bırakılacağına ilişkin eğitimimize bakın.

41. Yeni Kullanıcı Bildirim E-postalarını Devre Dışı Bırakma

Varsayılan olarak, WordPress web sitenize yeni bir kullanıcı katıldığında WordPress bir e-posta bildirimi gönderir.

Bir WordPress üyelik web sitesi işletiyorsanız veya kullanıcıların kaydolmasını gerektiriyorsanız, bir kullanıcı web sitenize her katıldığında bir bildirim alırsınız.

Bu bildirimleri kapatmak için aşağıdakileri fonksiyon dosyanıza veya yeni bir WPCode parçacığı olarak ekleyebilirsiniz:

function wpcode_send_new_user_notifications( $user_id, $notify = 'user' ) {
	if ( empty( $notify ) || 'admin' === $notify ) {
		return;
	} elseif ( 'both' === $notify ) {
		// Send new users the email but not the admin.
		$notify = 'user';
	}
	wp_send_new_user_notifications( $user_id, $notify );
}

add_action(
	'init',
	function () {
		// Disable default email notifications.
		remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
		remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );

		// Replace with custom function that only sends to user.
		add_action( 'register_new_user', 'wpcode_send_new_user_notifications' );
		add_action( 'edit_user_created_user', 'wpcode_send_new_user_notifications', 10, 2 );
	}
);

Daha fazla ayrıntı için WordPress’te yeni kullanıcı e-posta bildirimlerinin nasıl devre dışı bırakılacağına ilişkin eğitimimize bakın.

42. Otomatik Güncelleme E-posta Bildirimlerini Devre Dışı Bırakma

WordPress zaman zaman güvenlik ve bakım güncellemelerini otomatik olarak yükleyebilir veya kritik bir güvenlik açığı olan bir eklentiyi güncelleyebilir.

Her güncellemeden sonra otomatik bir güncelleme e-postası bildirimi gönderir. Birden fazla WordPress web sitesi yönetiyorsanız, bu tür birkaç e-posta alabilirsiniz.

Bu e-posta bildirimlerini kapatmak için bu kodu işlevler dosyanıza veya yeni bir WPCode parçacığı olarak ekleyebilirsiniz:

/ Disable auto-update emails.
add_filter( 'auto_core_update_send_email', '__return_false' );

// Disable auto-update emails for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );

// Disable auto-update emails for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );

Daha fazla bilgi edinmek için WordPress’te otomatik güncelleme e-postalarının nasıl devre dışı bırakılacağına ilişkin makalemize bakın.

43. Bir Gönderiyi Kolayca Çoğaltmak için Bağlantı Ekleme

Yayınlanan gönderiye dokunmadan bir gönderinin tüm içeriğini düzenlemek için hızlı bir şekilde kopyalamanın daha kolay bir yolunu hiç dilediniz mi?

Aşağıdaki kod parçacığı, bir gönderiyi tüm içeriğiyle birlikte kolayca çoğaltmak için bir seçenek ekleyecektir:

// Add duplicate button to post/page list of actions.
add_filter( 'post_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );
add_filter( 'page_row_actions', 'wpcode_snippet_duplicate_post_link', 10, 2 );

// Let's make sure the function doesn't already exist.
if ( ! function_exists( 'wpcode_snippet_duplicate_post_link' ) ) {
	/**
	 * @param array   $actions The actions added as links to the admin.
	 * @param WP_Post $post The post object.
	 *
	 * @return array
	 */
	function wpcode_snippet_duplicate_post_link( $actions, $post ) {

		// Don't add action if the current user can't create posts of this post type.
		$post_type_object = get_post_type_object( $post->post_type );

		if ( null === $post_type_object || ! current_user_can( $post_type_object->cap->create_posts ) ) {
			return $actions;
		}


		$url = wp_nonce_url(
			add_query_arg(
				array(
					'action'  => 'wpcode_snippet_duplicate_post',
					'post_id' => $post->ID,
				),
				'admin.php'
			),
			'wpcode_duplicate_post_' . $post->ID,
			'wpcode_duplicate_nonce'
		);

		$actions['wpcode_duplicate'] = '<a href="' . $url . '" title="Duplicate item" rel="permalink">Duplicate</a>';

		return $actions;
	}
}

/**
 * Handle the custom action when clicking the button we added above.
 */
add_action( 'admin_action_wpcode_snippet_duplicate_post', function () {

	if ( empty( $_GET['post_id'] ) ) {
		wp_die( 'No post id set for the duplicate action.' );
	}

	$post_id = absint( $_GET['post_id'] );

	// Check the nonce specific to the post we are duplicating.
	if ( ! isset( $_GET['wpcode_duplicate_nonce'] ) || ! wp_verify_nonce( $_GET['wpcode_duplicate_nonce'], 'wpcode_duplicate_post_' . $post_id ) ) {
		// Display a message if the nonce is invalid, may it expired.
		wp_die( 'The link you followed has expired, please try again.' );
	}

	// Load the post we want to duplicate.
	$post = get_post( $post_id );

	// Create a new post data array from the post loaded.
	if ( $post ) {
		$current_user = wp_get_current_user();
		$new_post     = array(
			'comment_status' => $post->comment_status,
			'menu_order'     => $post->menu_order,
			'ping_status'    => $post->ping_status,
			'post_author'    => $current_user->ID,
			'post_content'   => $post->post_content,
			'post_excerpt'   => $post->post_excerpt,
			'post_name'      => $post->post_name,
			'post_parent'    => $post->post_parent,
			'post_password'  => $post->post_password,
			'post_status'    => 'draft',
			'post_title'     => $post->post_title . ' (copy)',// Add "(copy)" to the title.
			'post_type'      => $post->post_type,
			'to_ping'        => $post->to_ping,
		);
		// Create the new post
		$duplicate_id = wp_insert_post( $new_post );
		// Copy the taxonomy terms.
		$taxonomies = get_object_taxonomies( get_post_type( $post ) );
		if ( $taxonomies ) {
			foreach ( $taxonomies as $taxonomy ) {
				$post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
				wp_set_object_terms( $duplicate_id, $post_terms, $taxonomy );
			}
		}
		// Copy all the custom fields.
		$post_meta = get_post_meta( $post_id );
		if ( $post_meta ) {

			foreach ( $post_meta as $meta_key => $meta_values ) {
				if ( '_wp_old_slug' === $meta_key ) { // skip old slug.
					continue;
				}
				foreach ( $meta_values as $meta_value ) {
					add_post_meta( $duplicate_id, $meta_key, $meta_value );
				}
			}
		}

		// Redirect to edit the new post.
		wp_safe_redirect(
			add_query_arg(
				array(
					'action' => 'edit',
					'post'   => $duplicate_id
				),
				admin_url( 'post.php' )
			)
		);
		exit;
	} else {
		wp_die( 'Error loading post for duplication, please try again.' );
	}
} );

Kodu ekledikten sonra, Gönderiler ” Tüm Gönder iler ekranına gidin ve farenizi bir gönderi başlığının üzerine getirin.

Seçeneklerin altında yeni bir ‘Çoğalt’ bağlantısı göreceksiniz.

Duplicate post link

Bağlantıya tıkladığınızda yazının tüm içeriğiyle birlikte bir kopyası oluşturulur. Daha sonra bu taslak üzerinde çalışabilirsiniz.

İşiniz bittiğinde, değişikliklerinizi kopyalayıp yayınlanan orijinal gönderiye yapıştırabilir ve kopyayı silebilirsiniz.

Bir eklenti yöntemi için, bir WordPress gönderisini veya sayfasını çoğaltma makalemize bakın.

44. WordPress Yönetici Panosundan Karşılama Panelini Kaldırma

Karşılama Paneli WordPress yönetici panosunda görünür. ‘Ekran Seçenekleri’ düğmesine tıklayarak kolayca kapatılabilir veya gizlenebilir.

Welcome panel

Ancak, kullanıcılar için daha temiz bir gösterge tablosu deneyimi oluşturmak için çalışıyorsanız, bunu kalıcı olarak gizlemek isteyebilirsiniz.

Sitenizdeki tüm kullanıcılar için devre dışı bırakmak için aşağıdaki kodu ekleyin:

add_action(
	'admin_init',
	function () {
		remove_action( 'welcome_panel', 'wp_welcome_panel' );
	}
);

45. WordPress Admin’de Yazılar için Öne Çıkarılmış Görsel Sütunu Ekleme

WordPress varsayılan olarak yalnızca sitenizi görüntülerken veya bir yazı ya da sayfayı düzenlediğinizde öne çıkan görselleri gösterir.

Aşağıdaki kod, öne çıkan resimler için Yazılar ” Tüm Yazılar ekranına yeni bir sütun ekleyecektir:

add_filter( 'manage_posts_columns', function ( $columns ) {
	// You can change this to any other position by changing 'title' to the name of the column you want to put it after.
	$move_after     = 'title';
	$move_after_key = array_search( $move_after, array_keys( $columns ), true );

	$first_columns = array_slice( $columns, 0, $move_after_key + 1 );
	$last_columns  = array_slice( $columns, $move_after_key + 1 );

	return array_merge(
		$first_columns,
		array(
			'featured_image' => __( 'Featured Image' ),
		),
		$last_columns
	);
} );

add_action( 'manage_posts_custom_column', function ( $column ) {
	if ( 'featured_image' === $column ) {
		the_post_thumbnail( array( 300, 80 ) );
	}
} );

Kodu ekledikten sonra nasıl görüneceği aşağıda açıklanmıştır.

Featured image column

46. WordPress Yönetici Alanını Yöneticiler Dışındaki Herkes İçin Engelleme

Bazı WordPress web sitelerinde kullanıcıların bir hesap açması gerekebilir. Örneğin, bir WordPress üyelik sitesi veya bir e-ticaret mağazası.

Bu tür eklentilerin çoğu bu kullanıcıların yönetici alanına erişimini engelleyecektir. Ancak, böyle bir eklenti kullanmıyorsanız, yöneticiler dışındaki tüm kullanıcıların yönetici alanına erişimini engellemek için aşağıdaki kodu ekleyebilirsiniz:

add_action( 'admin_init', function() {
	if ( ! current_user_can( 'administrator' ) ) {
       wp_redirect( home_url() );
       exit;
	}
} );

Diğer kullanıcı rollerine sahip kullanıcılar hesaplarına giriş yapmaya devam edebilirler, ancak giriş yaptıktan sonra ana sayfaya yönlendirileceklerdir.

Umarız bu makale WordPress’teki functions.php dosyası için bazı yeni kullanışlı püf noktaları öğrenmenize yardımcı olmuştur. Ayrıca WordPress hızını ve performansını artırmak için nihai kılavuzumuzu ve Mac ve Windows için en iyi kod düzenleyicileri için uzman seçimlerimizi görmek isteyebilirsiniz.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklarsanız komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve nasıl destek olabileceğinizi görün. İşte editoryal sürecimiz.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

Araç setimize ÜCRETSİZ erişim sağlayın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Reader Interactions

115 yorumBir Cevap Bırakın

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Moinuddin Waheed says

    So much to accomplish with the help of functions.php
    I think this is the core of the WordPress and if we do too much to it, we may lose many core functionalities.
    having said this, using wpcode is a wise idea to insert anything for functionality without compromising the WordPress core.
    I have a question though, if wpcode doesn’t insert it’s code in the main functions.php then how it works?
    and if inserts it into the same, how updating wordpress doesn’t erase it?

    • WPBeginner Support says

      The code is stored in your database and the plugin hooks in the code in different ways depending on how you set it in the plugin.

      Yönetici

  3. Jiří Vaněk says

    I’ve noticed that on some websites, the top part of the browser changes color, specifically on mobile Chrome. Do you have any tested snippet that accomplishes this?

  4. Ralph says

    A lot of great ideas explained in novice friendly way. Thanks! I will try adding featured images to RSS feeds. It never worked before for some reason and now it will :)

  5. Ben says

    This is a pretty dangerous idea. Query strings exist for the purposes of cache busting, aka, making sure the end user has the latest version your js and css files.

    Removing those is going to cause all sorts of issues for returning users down the line as their browser will assume nothing has changed and use their cached version rather than downloading the new one.

    If for some reason you need to target a specific file and remove the query string (which I’ve had to do) you can use this code snippet:

    // remove version from scripts and styles
    function remove_version_scripts_styles($src) {
    if (strpos($src, ‘yourfile.js’)) {
    $src = remove_query_arg(‘ver’, $src);
    }
    return $src;
    }
    add_filter(‘script_loader_src’, ‘remove_version_scripts_styles’, 9999);

  6. Gean Paulo Francois says

    Very useful article. I just saved this page offline so I can insert some of these with my websites. Anyway, should I add the codes to functions,php and not anywhere else?

  7. Hussain Badusha says

    Nice compendium of some useful tricks and functions for wordpress. I added quite a new things to my wordpress knowledge after going through here.

    I look forward even more from you if you wish to

  8. vivek says

    Nice article,

    Just have a doubt if I am supposed to add these codes in snippets plugin or somwhere in file? if its snippet plugin, it’s not working. Kindly put some light.
    Thanks

    • WPBeginner Support says

      You would add these codes as a custom plugin or more commonly in your functions.php file

      Yönetici

  9. Miley Cyrus says

    Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot.

  10. John Dee says

    Almost NONE of these code snippets belong in your theme’s functions.php file. Only a few of them are related to the actual theme. Themes are for APPEARANCE. Create a PLUGIN for functionality. In any case, it would go in child theme’s functions.php file.

    • WPBeginner Support says

      Thank you for pointing this out, while we do mention site-specific plugins at the beginning of this article, we will be sure to look into making that statement clearer.

      Yönetici

  11. Richard Yzenbrandt says

    Thank you so much for making this resource available. WP for Beginners is the best goto site on the web!

  12. alok patel says

    hey i am unable to add my post on specific page. when i write any blog post it shows in home page but i wanna also see in specific pages where i want to add. how i can out of from this problem. plz help me as soon as possible. if any video link thn plz share with reply. i m getting too much confused.

  13. DONALD says

    I am creating a form to collect data from my users.
    I have created the database from myphpAdmin
    I have created the form.
    I now created a new php.file in my child theme
    I referenced it in the form too using action = “name.php”
    Now i expect it to gather, peoples registration details.
    But clicking on submit on the form, says, page cannot be found.
    I dont know what i am not getting right.
    Please help me

  14. Shafiq Khan says

    Very useful post thanks.

    A question – Because you’re updating the functions.php of a theme.
    If you update the theme then you lose your tweaks.

    Is there a way around this? Is it just a cause of using a Child theme?

    Thanks

    • Lisa says

      Hi Shafiq,

      Any changes you make to a parent theme will be overwritten when you update it. It is good practice to work with a child theme when making changes to a theme you didn’t build that is going to be updated so that you can keep the changes you made.

    • Jan says

      I use the plugin ‘My Custom Functions’ – it is simply adding all functions to the functions.php automatically – so no re-writing after every update needed :)

    • Jane Lawson says

      This is late, but you can also create a plugin for your site (e.g. “[Site name]’s custom plugin”). It does require a bit of expertise, however, since some functions clash with other plugins/the site theme.

  15. Al1 says

    Another one :

    // Remove query string from static files :
    function remove_cssjs_ver( $src ) {
    if( strpos( $src, ‘?ver=’ ) )
    $src = remove_query_arg( ‘ver’, $src );
    return $src;
    }
    add_filter( ‘style_loader_src’, ‘remove_cssjs_ver’, 10, 2 );
    add_filter( ‘script_loader_src’, ‘remove_cssjs_ver’, 10, 2 );

  16. Andrew says

    I tried #16 to add the post featured thumbnail to m RSS feed but when I tested it in mailchimp (paused my campaign and previewed) it appears that it has changed from “summary” to “full text”? Is this expected behaviour? I want to leave the emails (rss driven) as summary, and simply add the thumbnail featured image at the top.

    Thanks for any help, I can’t find this on google anywhere.

  17. Em Cloney says

    re: removing rss feed for static pages — is it correct that the txt one would replace in that code is ‘url’ (with a page link, including ) and ‘homepage’ (if you’d like it to say something else, like ‘some other site’)?

  18. grafx says

    There is an easier way to remove WordPress Version Number…

    remove_action(‘wp_head’, ‘wp_generator’);

  19. Mick O says

    Thanks for the helpful article. I really appreciate it. Can you possibly explain why the snippet to add Google analytics (#1) code includes the php declarations. If I have an existing functions.php file that is already defined with , do I need to include the markers again in the snippet? I’m trying to add other customizations into the functions.php and it’s getting hard to keep track.

  20. Luke Gibson says

    The one about the copyright date seems a little OTT when you could simply cut and paste in © 2006- and it would do exactly the same job, just replace 2006 with whatever static start date you wish. Or am I missing something?

  21. Zeeshan Arshad says

    Excellent, I was done with my theme and learning but there was much left. This post saved my day and of course I learnt many things as well.

    Best Wishes!

  22. Mark says

    Great set of tools. I immediately copied the guest author function as I saw it and will now disable a clumsy plugin I’ve been using. Do you have a function that will provide the post ID of the item being worked with in the editor? I’m trying to auto fill a form with media attachments for the current post but have only been able to get it to work in a custom meta-box but not in a thickbox . The thickbox returns all the media files for all the posts when I just want the current posts’s attachments.

  23. mommyblogger says

    Thanks for the great WordPress tips! I was hoping you could help me with an additional one?

    I’d like to prevent my tags/categories from spilling over onto another line by limiting the number of tags/categories that appear in the footer of my individual homepage posts. Is it possible to do this with the “the_excerpt”? I would also like the excerpt to be a “…read more” link and limit the number of characters in it. Here is the code it would need to be added to;

    $tags_list = get_the_tag_list( ”, __( ‘, ‘, ‘mummyblog’ ) ); if ( $tags_list ): ?> <li> <?php printf( __( ‘<span class=”%1$s”>Tagged</span> %2$s’, ‘mummyblog’ ), ‘entry-utility-prep entry-utility-prep-tag-links’, $tags_list ); ?> </li> <?php endif; // End if $tags_list ?>

    Thanks!

  24. SteveEBoy says

    Like all the others have said below – just too good, a massive help for a newbie and very useful for learning too. Great site all round. Thanks.

  25. LambrosPower says

    one of the best tutorials i read. Many important topics pointed out and for sure i didn’t know most of them since i just started wordpress custom design.

  26. Xiaozhuli says

    This article is endlessly useful. I bookmarked it and often refer to it when updating my theme or trying to answer a question. Great job!

  27. Mohammad Yeasin says

    You guys are just awesome. You know what, wpbegineer is the first website for which i have a separate folder in my bookmark menu. Too good for a wp begineer. youe name suits ur personality. lolz. One day i would must do something special for you. Inshallah.
    The only problem i face is related post with thumbnail. your coder are not working. vDont know what to do. Whatever, Keep up the marvelous job. Love the site wpbegineer.

  28. AA says

    Great post! You obviously know a lot about wordpress coding so I’m hoping you can answer a question. How to you remove the date & time stamp from a wordpress feed-rss? I’ve looked everywhere and can’t find any information on this. I’m working on a wordpress “site” and do not have a use for the dates. I have already removed them from the posts & pages.

    Much thanks in advance!

    • Editorial Staff says

      Date is NOT optional for RSS feeds. It is a MUST because that is how posts / articles are organized (reverse chronological order). You can remove the display of dates from the template, but you cannot remove them from the XML.

      Yönetici

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.