Yakın zamanda okuyucularımızdan biri, WordPress cron iş sistemi sistemini kontrol panelinde görüntülemenin ve kontrol etmenin mümkün olup olmadığını sordu. Deneyimlerimize göre, bu, özellikle WordPress'in arka planda nasıl çalıştığına daha aşina hale geldikçe birçok WordPress kullanıcısının sorduğu bir sorudur.
Eğer aşina değilseniz, Cron, bir web sunucusunda zamanlanmış görevleri çalıştırmak için kullanılan bir teknolojidir. WordPress, güncellemeleri kontrol etme, zamanlanmış gönderileri yayınlama vb. gibi zamanlanmış görevleri yerine getirmesine olanak tanıyan kendi yerleşik cron'u ile birlikte gelir.
Bu makalede, WordPress cron işlerini nasıl görüntüleyeceğinizi ve kontrol edeceğinizi göstereceğiz.

WordPress Cron Nedir? Nasıl Çalışır?
Cron, zamanlanmış bir zamanda veya düzenli aralıklarla çalıştırılacak komutlar için kullanılan teknik bir terimdir. Çoğu web sunucusu bunu sunucuyu korumak ve zamanlanmış görevleri çalıştırmak için kullanır.
WordPress, zamanlanmış görevleri gerçekleştirmesini sağlayan kendi cron sistemine sahiptir. Örneğin, güncellemeleri kontrol etmek, çöp kutusundan eski yorumları silmek, zamanlanmış gönderileri yayınlamak ve benzeri.
WordPress eklentileri de sizin tarafınızdan belirtilen görevleri yerine getirmek için kullanılabilir. Örneğin, WordPress yedekleme eklentiniz, belirli bir programa göre otomatik olarak yedekleme oluşturmak için WordPress cron'u kullanabilir.
Ancak, eklentiler tarafından WordPress cron'un sorumsuzca kullanılması web sitenizi yavaşlatabilir. Özellikle paylaşımlı hosting kullanıyorsanız.
Bir eklenti sık sık kaynak yoğun görevler gerçekleştiriyorsa, sorunu belirleyip düzeltmeniz gerekir.
WordPress cron sistemini kod yazmadan nasıl görüntüleyeceğimize ve kontrol edeceğimize bir göz atalım.
WordPress Cron Sistemini Görüntüle ve Kontrol Et
Yapmanız gereken ilk şey, WP Crontrol eklentisini yüklemek ve etkinleştirmektir. Daha fazla ayrıntı için, yeni başlayanlar için bir WordPress eklentisinin nasıl kurulacağına dair adım adım kılavuzumuza bakın.
Etkinleştirdikten sonra, cron ayarlarını kontrol etmek için Araçlar » Cron Etkinlikleri sayfasını ziyaret etmeniz gerekir.

Sitenizde WordPress cron sistemi kullanılarak çalıştırılacak tüm cron olaylarının bir listesini göreceksiniz.
İlk sütunda, cron'u çalıştıran hook'un adını göreceksiniz.
Kanca adları genellikle bu belirli olayın ne yaptığını size ipucu verir.
Çoğu varsayılan WordPress kancası, wp_update_plugins, wp_update_themes vb. gibi bir wp_ önekiyle başlar.
WordPress eklentileriniz, kancaları için kendi öneklerini kullanabilir veya kullanmayabilir. Örneğin, All in One SEO aioseo_ öneki kullanır.
Bir cron'un bir sonraki ne zaman çalışacağını ve bir sonraki çalıştırma arasındaki zaman aralığını da göreceksiniz.
Listedeki son sütun, bir cron olayını düzenlemenize, silmenize veya çalıştırmanıza olanak tanır.
Önemli: Cron etkinlikleriyle ne yaptığınıza çok dikkat edin ve asla varsayılan bir WordPress cron etkinliğini silmeyin.
Şimdi, bir WordPress eklentisi tarafından oluşturulan ve oldukça yoğun kaynak kullanan bir cron olayı gördüğünüzü varsayalım.
İlk olarak, eklentinin ayarlarını kontrol ederek oradan kontrol etme seçeneği olup olmadığını görmelisiniz. Eğer yoksa, değiştirmek için cron etkinliğinin yanındaki 'Düzenle' bağlantısına tıklayabilirsiniz.

Düzenle düğmesine tıklamak, aşağıdaki ‘Cron Etkinliğini Değiştir’ sekmesini açacaktır.
Burada, olayın ne sıklıkla çalışmasını istediğinizi değiştirebilirsiniz.

Ayarlarınızı kaydetmek için işiniz bittiğinde ‘Cron Etkinliğini Düzenle’ düğmesine tıklayın.
WordPress'te Kendi Cron Olaylarınızı Ekleme
WP Crontrol eklentisi, WordPress’e kendi cron işlerinizi eklemenizi kolaylaştırır. Basitçe Araçlar » Cron Etkinlikleri sayfasına gidin ve ‘Cron Etkinliği Ekle’ sekmesine aşağı kaydırın.

İlk olarak, cron etkinliğiniz için bir kanca adı sağlamanız gerekir. Kanca adları boşluk veya özel karakterler içeremez.
Yürütmek istediğiniz fonksiyon argümanlar gerektiriyorsa, bu argümanları sağlayabilirsiniz.
Ardından, WordPress'e cron'un bir sonraki ne zaman çalışacağını söylemeniz gerekir. Cron'u hemen tetikleyecek ‘now’ (şimdi), ‘tomorrow’ (yarın), ‘+2 days’ (2 gün sonra) veya ’25-02-2020 12:34:00′ girebilirsiniz.
Son olarak, bir zamanlama seçmeniz gerekir. Saatlik, günde iki kez, günlük veya haftada bir seçebilirsiniz. Ayrıca tekrarlamayan bir olay da yapabilirsiniz.
İşiniz bittiğinde, değişikliklerinizi kaydetmek için ‘Cron Etkinliği Ekle’ düğmesine tıklayın.
Cron etkinliğinizin artık etkinlikler listesinde göründüğünü fark edeceksiniz.
Ancak, bu olay tetiklendiğinde WordPress'e ne yapacağını söylemediğiniz için şu anda hiçbir şey yapmıyor.
Kancanızı ve cron kancası tetiklendiğinde çalışan bir işlevi eklemeniz gerekecek.
add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );
function wpb_custom_cron_func() {
wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
Kendi e-posta adresinizi kullanmayı unutmayın.
Bu işlev, cron çalıştığında size yalnızca bir test e-postası gönderir. Şimdi sayfayı yukarı kaydırabilir ve test etmek için cron etkinliğinizin yanındaki 'Şimdi Çalıştır' bağlantısına tıklayabilirsiniz.
Not: Cron kullanmak, orta düzeyde programlama ve WordPress geliştirme becerileri gerektirir. Bu becerilere sahip değilseniz, bir WordPress geliştiricisi kiralamanızı öneririz.
Hepsi bu kadar, bu makalenin WordPress cron işlerini nasıl görüntüleyeceğinizi ve kontrol edeceğinizi öğrenmenize yardımcı olduğunu umuyoruz. Ayrıca, en sevdiğiniz WordPress eklentilerini toplu olarak nasıl kuracağınıza dair rehberimize veya en iyi WordPress güvenlik eklentileri hakkındaki uzman seçimlerimize de göz atmak isteyebilirsiniz.
Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.


Mrteesurez
Bu konuyu tanıttığınız ve WordPress Cron işlerini daha iyi anlamamıza yardımcı olduğunuz için çok teşekkür ederim. Detaylı açıklamanız, nasıl çalıştıklarını ve bunları etkili bir şekilde nasıl yöneteceğimizi gerçekten netleştirdi. Paylaştığınız bilgiler için minnettarım; sitemizin sorunsuz çalışmasını sağlamak için bu bilgiye sahip olmak güçlendirici. Değerli makaleniz için tekrar teşekkürler!
Paul Barrett
wp-cron sunucuyu aşırı yüklediği için cron'u sunucu düzeyinde çalıştırıyoruz. Sitemizde işlerin sık sık çalışmasını gerektirecek kadar zaman açısından kritik hiçbir şey yok. Frekansı örneğin günlük olarak ayarlarsak, WordPress'in bir sorunu olur mu?
WPBeginner Desteği
Sitede neyin ne zaman yapıldığına büyük ölçüde bağlı olacaktır. Bu dereceye kadar ertelenebilecek belirli bir önerimiz yok.
Yönetici
Matt K
Kancalardaki tekrarlamayı değiştirmeye gittiğimde, bunlar geri değiştiriliyor. Bir şeyler doğru değil. Önce wp-config.php'de WP cron'ları devre dışı bırakmam mı gerekiyor?
WPBeginner Desteği
Belirli cron işine bağlı olacaktır, eklentinin desteğiyle iletişime geçerseniz yardımcı olabilirler
Yönetici
Heinz
Çok fazla eklentinin çalışmasını ve web sitesini yavaşlatmasını önlemek için bir cron işi ayarladıktan sonra WP Control eklentisini devre dışı bırakabilir veya silebilir miyim?
WPBeginner Desteği
Evet, varsayılan programlardan birini (günlük gibi) kullandığınız sürece. Özel bir program eklediyseniz, onu kullanan herhangi bir etkinlik bir kez daha çalışacak ancak bundan sonra tekrarlanmayacaktır.
Eklenti sitenizin yavaşlamasına neden olmamalıdır. WordPress eklentilerinin sitenizi nasıl etkilediğini daha iyi anlamak için buradaki makalemize göz atmak isteyebilirsiniz:
https://014.leahstevensyj.workers.dev/opinion/how-many-wordpress-plugins-should-you-install-on-your-site/
Yönetici
Andre Hesdahl
WordPress'e yeni başladım ve kodu nereye koyacağımı (veya nasıl çalıştıracağımı) bilmiyorum:
add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );
function wpb_custom_cron_func() { wp_mail( ‘you@example.com’, ‘Otomatik e-posta’, ‘WordPress’ten cron test etmek için otomatik zamanlanmış e-posta’); }
Jeff
Makale için teşekkürler. Cron işleri çalıştıran eklenti sayısını görmek ilginç. Eklentinin içini görmek harika…
David
Cron'u her yarım saatte bir çalışacak şekilde nasıl yapılandırabilirim?
hazel beaver
Cron zamanlamasını kontrol ettiğimde, ‘sonraki çalıştırma’ sütununda gösterilen tarihler geçmişte kalmış. Bu, çalışmadıkları anlamına mı geliyor?
Geçmişte otomatik wp güncellemelerinin sitemi bozmasını durdurmak için wp config dosyasına 'true' eklediğimi düşünüyorum... bunun nedeni bu olabilir mi?
Janson
Bu Çoklu site'de çalışır mı? Çoklu site senaryosunda tüm örnekler için cron'ları kontrol edebilir mi?
Oleg
Harika makale, ancak gerek yok
if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) { wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ ); }
bu kısım eklenti içinde yapılır,
beny salim
Beş dakika, on dakika gibi bir Tekrar ekleyebilir miyim?
Ahmad Sayeed
Verdiğiniz örneği test ettim. Süpermen gibi çalışıyor. Ancak lütfen parametre göndermek için bize bir örnek verin. Etkinliği oluştururken fonksiyonu ekledim. Ancak bunları PHP fonksiyonunda nasıl kullanacağımı bilmiyorum.
Lütfen bize bir örnek verin
Sunny
Web sitemin URL'sinden sonra uzun bir wp cron dizesi geliyor ve bunu kaldıramıyorum. Fikirleriniz var mı?
URL'min ardından ?doing_wp_cron=1499261576.8675799369812011718750 geliyor ve bu da beni gerçekten spam gibi gösteriyor. Görüşleriniz takdir edilecektir.
Aniket Ashtikar
Oradaki ‘my_task_hook’ cron kancası 2. satırda doğru bir şekilde mi belirtilmiş yoksa bunun yerine ‘wpb_custom_cron’ olarak mı değiştirilmeli?
Matt
wp-admin alanında bir bağlantıyı ziyaret etmenin mümkün olup olmadığını biliyor musunuz? WordPress siteme yönetici özellikleri ekleyen bir eklentim var ama bunun her 24 saatte bir gerçekleşmesini gerçekten istiyorum. Bağlantıya sahibim ama açıkçası oturum açmam gerekiyor.
Pam M
Örnek kodda gösterilen ilk if ifadesine ihtiyacınız var mı? WP Crontrol eklentisindeki zamanlama ve zamanlamayı kaldırma yeteneğini geçersiz kılacak gibi görünüyor.
Eklentide işi zamanladığımda ve "Şimdi Çalıştır" seçeneğiyle test ettiğimde örneğiniz güzel çalıştı. Zamanlanmış zamanda da bir e-posta alıp almadığımı göreceğim.
Yardımcı arka plan bilgileri için teşekkürler.
Nigam
Merhaba
WordPress admin'den WP-Cron Etkinlikleri sayfasını yenilediğimde olay çalışıyor.