WordPress Çekirdeğine Katkı Sağlamak için Geliştirici Kılavuzu


WordPress Temel Geliştirmeye Dalın

Her ay, Delicious Brains'deki ekibin, WordPress Core'a geri vermek için bir gün olan “WP Core Contrib Day” vardır. Geçimimizi premium WordPress eklentilerinden sağladığımız için bu bizim için önemli bir gün. WordPress çekirdeğini harika tutmaya yardımcı olmak için becerilerimizi kullanmak doğru geliyor. Ayrıca, WordPress Core'a ayda bir iş günü katkıda bulunan hepimiz, Matt Mullenweg'in Gelecek için 5 yazısında bahsettiği %5'lik katkıya çok yakın.

Bu makalede, üzerinde çalışılacak şeyleri bulmanın temellerini, WordPress kaynak kodunu nasıl kullanacağınızı, çalışmanızı nasıl göndereceğinizi ve oradan ne olmasını bekleyebileceğinizi tartışacağım. Bu makale, normal bir WordPress kurulumunun nasıl kurulacağını zaten bilen, ancak WordPress Core'a dalmak ve katkıda bulunmak isteyen PHP geliştiricilerine yöneliktir.

Hepimiz Delicious Brains geliştiricileri olduğumuz için, WP Core Contrib Days'imizde, kod işleyerek katkıda bulunabileceğimiz WordPress Core biletleri bulmaya çalışıyoruz. Bu tür katkılara odaklanacağım, ancak katkıda bulunmanın başka birçok yolu var ve yapabileceğiniz her şey takdire şayan.

Bilet Nerede Bulunur?

Geçen Kasım ayında katkı günlerimize ilk başladığımızda karşılaştığımız ilk büyük engel, üzerinde çalışmak için biletleri nerede bulacağımızdı. İşte iyi biletler bulmak için yöneldiğimiz birkaç yer.

İyi İlk Hatalar

https://core.trac.wordpress.org/tickets/good-first-bugs

"İlk Önce İyi Hatalar" raporu, WordPress'e katkıda bulunmaya yeni başlayan geliştiriciler için iyi olduğu düşünülen, özel olarak hazırlanmış bir bilet koleksiyonudur. Bu rapor aracılığıyla kişisel olarak birkaç bilet buldum ve yola çıkarken ilk durak olarak bunu tavsiye ediyorum.

Raporun “Sahipsiz — hemen atlayın!” başlıklı ilk bölümü. genellikle "ilk hata iyi" anahtar kelimesine yeni verilmiş biletleri bulmak için iyi bir yerdir ve her türlü geliştirme, test ve belgeleme ihtiyaçlarını karşılayabilir. Bazen biletler yoldaymış gibi görünürler, ancak genellikle yamalarının yenilenmesine ihtiyaç duyarlar ki bu genellikle üstesinden gelinmesi kolay bir şeydir (bkz. Bir Yama Uygulamak ve Bir Yama Oluşturmak).

Bu raporun girişinde, Temel Katkıda Bulunan El Kitabı'nın okumanızı önerdiğim alanlara ilişkin çok kullanışlı bağlantılar var. WordPress Kodlama Standartları, geliştirmeye başlamadan önce mutlaka okunmalıdır ve umarız WordPress kod tabanına zaten aşinasınızdır. Terminoloji ve süreç akışına aşina olmak için “hata izleyicimizi nasıl kullanıyoruz” makalesini okumaya değer.

Yama Yok

https://core.trac.wordpress.org/tickets/no-patch

"Yama Yok" veya "Yama gerekiyor, ancak yok" raporu, üzerinde çalışmak için hala bir yamaya ihtiyaç duyan biletleri bulmak için harikadır. Henüz kimse biletin üstesinden gelmemiş olabilir veya mevcut bir yamanın sorunları olabilir ve yeni bir temiz yama gerekli olabilir.

Bu raporun genellikle bir "Sonraki Sürüm" bölümü vardır, eğer daha sonra değil de biraz "destek" denemek ve elde etmek istiyorsanız, sizi biletlerin üstesinden gelmeye teşvik ediyorum. Bu listedeki biletlerin, bir sonraki sürüm için önceliklendirildiklerinden, doğal olarak daha hızlı incelenip test edilmeleri daha olasıdır. WordPress Core Weekly gönderilerinden birinde adınızın geçtiğini görmek her zaman iyi bir duygudur ve sizi gelecekte daha fazla bilet almaya teşvik edecektir.

Birim Testleri Gerekiyor

https://core.trac.wordpress.org/tickets/needs-unit-tests

Birim Testleri konusunda becerikli misiniz? Belki de WordPress Core'u keşfetmek ve aynı zamanda katkıda bulunmak istiyorsunuz? O zaman "Birim Testleri Gerekiyor" raporu sadece bilet!

Sonraki Binbaşı ve Sonraki Küçük Sürüm

https://core.trac.wordpress.org/tickets/major/workflow
https://core.trac.wordpress.org/tickets/minor/workflow

Bu "tümünü yakala" raporları, çabalarınızı sonraki birkaç sürüme atanan biletler üzerinde hedeflemenin harika bir yoludur. Yukarıdaki bağlantılar, İş Akışı Durumuna göre gruplandırılmış Sonraki Büyük ve Sonraki Küçük sürüm raporlarının sürümleridir, becerilerinize (geliştirme, test etme vb.) uyan biletleri bulmak çok daha kolay olduğu için bunları tercih ederim.

Hata Raporları

https://make.wordpress.org/core/reports/

Bu raporun yanlış yönlendiren bir başlığı var, daha çok bir Bilet Kontrol Paneli ve size çeşitli bilet raporlarına harika bir atlama noktası sunuyor. Biraz göz atmak istediğinizde gidilecek yer.

WordPress için Bileşenlere ve Odak Alanlarına hızlı erişim sağlayan güzel bir "Konuya Göre Biletler" bölümü var. Bizim için doğal bir seçim “Eklentiler” Bileşen alanıdır.

Ayrıca oluşturduğunuz, yorum yaptığınız veya favorilerinize eklediğiniz biletleri takip etmek için çok faydalı olan bir “Ben” bölümü de bulunmaktadır. Ayrıca üzerinde olağanüstü yamalar bulunan biletleri de görebilirsiniz.

Slack'te Sor #core

https://wordpress.slack.com

Bir biletin üzerinde çalışmaya başlamak için iyi olup olmadığından emin değilseniz veya bir WordPress Core biletini nasıl ele alacağınızla ilgili herhangi bir sorunuz varsa, ertelemeyin, Slack #core kanalına sorun!

https://make.wordpress.org/chat/ adresinde WordPress Slack kanallarına nasıl başlayacağınız hakkında daha fazla bilgi bulabilirsiniz.

Geliştirme Sitesi Kurma

Tamam, diyelim ki araştırmak için bir bilet buldunuz. Daha fazla ilerlemek için WordPress Core kaynak kodunu indirmeniz, WordPress'i oluşturmanız, yerel geliştirme sitenizi yapılandırmanız ve geliştirmeye dalmadan önce bir deneme yapmanız gerekir.

Kaynağı İndir

WordPress Core kaynağı, yeni bir WordPress örneği oluşturmak için indirdiğiniz WordPress yazılımından çok farklıdır. Geliştirmeye yardımcı olacak farklı bir dizin yapısına sahiptir ve bir Subversion (SVN) deposunda saklanır. Bu nedenle, bagajınızın kopyasını almak için SVN kullanmalısınız.

 $ svn co https://develop.svn.wordpress.org/trunk wordpress-core

Aşağıdakine benzer bir dizin yapısı görmelisiniz:

WordPress Çekirdek Dizin Yapısı

WordPress oluşturun

WordPress'te yaptığınız herhangi bir değişikliğin düzgün bir şekilde oluşturulacağından ve çalışacağından emin olmak için geliştirme sitenizi doğrudan src yerine WordPress oluşturulduğunda oluşturulan build dizininden çalıştırmanız en iyisidir. Ancak bu, birkaç araç gerektirir.

Gerekli araçlar:

  • Node.js
  • npm
  • Homurtu

WordPress Core oluşturmak için Grunt ve CLI'sini yüklemeniz gerekir. Tercih ettiğiniz geliştirme araçları henüz Grunt'u içermiyorsa, Grunt ve bağımlılıklarını kurmak için çok basit bir Başlangıç ​​kılavuzu vardır: Node.js ve npm.

WordPress Core kaynağını kontrol ederken az önce oluşturduğunuz dizine geçin, npm modüllerini kurun ve varsayılan Grunt işini çalıştırın.

 $ cd wordpress-core $ npm install $ grunt

Şimdi WordPress Core check-out'ta birkaç yeni dizin görmelisiniz: node_modules ve build .

Derlemeden Sonra WordPress Çekirdeği

Şu andan itibaren, src dizini altında bulunan WordPress kaynak kodunda herhangi bir değişiklik yaptığınızda, build dizininin içeriğini güncellemek için kök dizinde tekrar grunt çalıştırabilirsiniz. Bunun hakkında daha sonra Temiz Tut bölümünde konuşacağız.

Yerel Sitenizi Yapılandırın

WordPress, wp-config.php dosyanızı siteye hizmet verdiğiniz dizinin üst dizinine koymanıza izin veren zarif bir özelliğe sahiptir. Bu durumda sitemize build dizininden hizmet verilecek olsa da wp-config.php dosyasını kök dizine koyabiliriz. Yine de alacak.

Sağlanan wp-config-sample.php wp-config.php dosyasına kopyalayın ve yerel olarak oluşturduğunuz yeni bir MySQL veritabanı için veritabanı ayrıntılarını içerecek şekilde güncelleyin.

Yapılandırma Dosyalarıyla WordPress Çekirdeği

Hazır buradayken, neden wp-tests-config-sample.php dosyasını wp-tests-config.php kopyalamıyor ve çalıştırabilmeniz için yerel olarak oluşturduğunuz başka bir veritabanının veritabanı ayrıntılarıyla güncellemiyorsunuz? birim testleri de? Birim testleri çalışması sırasında veritabanı tamamen yenilendiğinden, birim testleri için ayrı bir veritabanı kullanmak önemlidir.

Artık geliştirme siteniz için bir wp-config.php olduğuna göre, http://wordpress-core.dev gibi build dizinini belge kökü olarak kullanan bir web sitesi kurmanın zamanı geldi. MAMP Pro'yu sadeliği ve esnekliği için kullanıyorum, ancak en rahat ettiğiniz şeyi kullanmalısınız. İdeal olarak PHP 5.2.x'i geliştirmenizde kullanın, çünkü bu PHP'nin WordPress için desteklenen minimum sürümüdür. Bununla geliştirme yapmak, PHP 5.2 ile çalışmayan PHP'nin sonraki sürümlerindeki özellikleri kullanmanızı engelleyecektir.

WordPress Çekirdek Site Kurulumu (MAMP PRO)

Bir Döndür

Gerçeğin anı. Yeni WordPress geliştirme sitenize bağlanabildiğinizden ve kurabildiğinizden emin olun.

WordPress › Kurulum

Pano ‹ WordPress Çekirdeği — WordPress

WordPress Çekirdeği | Sadece başka bir WordPress sitesi

Güzel yeni WordPress'inizi bazı test verileriyle doldurmak için WP Test gibi bir şey kullanmayı da düşünmelisiniz.

Birim Testlerini Çalıştırın

Geliştirme sitenizde her şeyin yolunda olduğundan ve daha sonra yaptığınız herhangi bir değişikliğin hiçbir şeyi bozmadığından emin olmak için birim testleri yapmak çok iyi bir fikirdir.

Kontrol edilen kaynağın kökünden…

 $ phpunit

WordPress Çekirdek Birim Testleri Çalıştırma

Birim testlerinde bir veya iki başarısızlık görürseniz şaşırmayın. Bagajda çalışırken genellikle bazıları vardır. (Belki onları düzeltebilirsin?) En azından sorunların nerede olduğunu biliyorsun ve bu yüzden değişikliklerinizi yaptığınızda, işleri daha iyi mi, daha mı kötü yaptığınızı veya en azından onları etkilemediğinizi anlayabilirsiniz!

Gelişim

Artık WordPress Core üzerinde geliştirme yapmak, svn up ile deponuzu güncel tutmak ve gerektiği gibi grunt ile veya bir watch süreci yoluyla WordPress Core sitenizi yeniden oluşturmak için hazırsınız.

Bir yamayı yenileyerek WordPress Core katkılarınıza başladığınızı varsayalım. Bu, bir biletten yama dosyasını indirmeyi, onu teslim alınan kaynağınıza uygulamayı, hala doğru şekilde uygulanıp uygulanmadığını ve bekleneni yaptığını kontrol etmeyi, yamayı yeniden oluşturmayı ve onu güncel bir ad ve güncellenmiş anahtar kelimelerle bilete eklemeyi gerektirir.

Temiz tut

Bir yama uygulamadan önce, teslim aldığınız kaynağın ve derlemenizin "temiz" olduğundan kesinlikle emin olun. Başka bir biletten kod tabanınızı kirleten bazı önceki kod değişiklikleriniz olduğundan, yalnızca temiz bir yama oluşturamayacağınızı bulmak için bir şey üzerinde çalışmaktan daha kötü bir şey yoktur.

 $ svn diff

svn diff herhangi bir şey döndürürse, belki de zaten bir yama üzerinde çalıştığınız için değişiklikleri geri alın.

 $ svn revert path/to/changed/file

Ve sonra svn diff ile tekrar kontrol edin.

Ödeme işleminizde herhangi bir değişiklik olmadığında, depoya taahhüt edilen diğer değişikliklerden haberdar olduğunuzdan emin olun.

 $ svn up

Şimdi temizlenmiş deponuzun kurulduğundan emin olun ve ardından Bir Döndürme Yapın.

 $ grunt

Yama Uygulamak

Biletten en son yama dosyasını indirin. 14584 gibi bir adla adlandırılmalıdır; burada 14584.3.patch , bilet numarası ve .3 , bir bilet için her yeni yama ile artan isteğe bağlı bir yama sürüm numarasıdır. Ticket 14584 için ilk yama dosyası 14584.patch olarak adlandırılabilirdi. Yamayı daha eski bir bilet için yeniliyorsanız, yama adının daha çok 14584v3.diff gibi olduğunu görebilirsiniz.

Dosya kök dizininize kopyalanmalı ve oradan patch ile uygulanmalıdır:

 $ patch -p0 < 14584.3.patch

wordpress-core — Yama Uygulama

Yamalar her zaman kod tabanının kökünden oluşturulur ve uygulanır, bu nedenle yamalı dosya adlarında genellikle src/... veya tests/... görmelisiniz.

Umarım yama beklendiği gibi uygulanır. Değilse (belki de bu yüzden yeniliyorsunuz), o zaman svn revert <filename> ile kısmen uygulanan herhangi bir şeyi geri almanız gerekebilir.

Tüm PHP geliştirmem için harika PhpStorm'u kullandığım için, yamanın uyguladığı tüm değişiklikleri kolayca bulabiliyorum.

PhpStorm - Değişen Dosyalar

Ancak, yamanın doğru uygulanıp uygulanmadığını iki kez kontrol etmenin bir başka yolu, Yama Oluşturma'da kullanacağınız yöntemin aynısını kullanmaktır.

Geliştir ve Test Et

Kod değişiklikleri yapmak söz konusu olduğunda, değişikliklerinizi teslim alınan kaynağın src dizininde geliştirdiğinizden ve WordPress Kodlama Standartlarına bağlı kaldığınızdan emin olun. Yeni kodun kod tabanında nereye yerleştirilmesi gerektiğinden emin değilseniz, WordPress Codebase makalesine göz atın.

Değişikliklerinizi yaparken, ilerleme sırasında değişikliklerinizi test edebilmeniz için build dizinini yenilemek için grunt kullanın.

Mümkünse, lütfen kodunuzun iyi bir şekilde bütünleşmesini sağlamaya yardımcı olan tests dizininde birim testleri ekleyin veya birim testlerini güncelleyin. Ara sıra Birim Testlerini Çalıştırdığınızdan emin olun. Ve bir yama oluşturmadan önce geliştirme ve testinizin bittiğini düşündüğünüzde kesinlikle bunları çalıştırın.

Yama Oluşturma

Değişikliklerinizi geliştirdiniz ve test ettiniz ve artık gözden geçirme ve test için değişikliklerinizi WordPress Core ekibine geri iletmeye hazırsınız. Bunu nasıl yaptın?

Aşağıdakileri çalıştırırsanız, deponun başka bir ödemesini yamalamak için tam olarak gerekenleri alırsınız:

 $ svn diff

wordpress-core — Bir Yama Oluşturma

Yama dosyanızı oluşturmak için svn diff çıktısını bir dosyaya yönlendirmeniz yeterlidir:

 $ svn diff > 14584.4.patch

Burada artan sürüm numarasına sahip bir dosya oluşturduğumuzu unutmamak önemlidir. Bu örnekte yüzeyde hiçbir şey değişmemiş olsa da, bunu havuzun çok daha sonraki bir sürümünden oluşturduk ve bu nedenle, bilet için yamayı yeniliyor ve yeniden gönderiyorsak sürüm numarasını artırmalıyız.

Yamayı Gönder

Yama dosyasını göndermek nispeten basittir. wordpress.org'da oturum açtığınızdan emin olun, söz konusu bilete gidin ve ana açıklama bloğu ile Değişiklik Geçmişi arasına yerleştirilmiş bir Ekler bloğu bulmalısınız.

Bir Bilette Ekler Bloğu

Ekler bloğunda, yüklemek için dosyanızı seçebileceğiniz ve kısa bir açıklama yapabileceğiniz bir sayfaya yönlendiren bir “Dosya ekle” düğmesi vardır.

Bilet Eki Gönderme

Bilet Eki Gönderildi

Bileti Değiştir

Üzerinde çalıştığınız WordPress Core biletinin altına yakın bir yerde bir Modify Ticket bloğu görmelisiniz.

Bilet Bloğunu Değiştir

Ne yaptığınıza veya bulduğunuza bağlı olarak, Değişiklik Özellikleri bölümündeki İş Akışı Anahtar Sözcüklerinden bazılarını değiştirmeniz gerekebilir.

Çoğu durumda, "yama ihtiyacı" veya "yenilenmesi gerekiyor" anahtar kelimeleri gibi şeyleri kaldıracak ve "patch-has" ve "test ihtiyacı" anahtar kelimelerini ekleyeceksiniz. Bir kez yapıldığında, bu, bileti gözden geçirilecek ve test edilecek bir şey olarak birinin anahtar kelime tabanlı raporuna taşıyacaktır. Anahtar kelimeleri değiştirme konusunda şüpheniz varsa, hata izleyiciyi kullanma hakkındaki resmi makaleye göz atın.

Eylem bölümünde herhangi bir şeyi değiştirmeniz pek olası değildir. Orada bazı eşyaları yanlışlıkla bir kez değiştirdim ve bunu bir daha aceleyle yapmayacağım! Bu bölüm temel olarak, tamamlanıp depoyla birleştirildiği veya bir nedenden ötürü geçersiz olduğu (örneğin bir kopya) bulunduğu için bir vakayı kapatmak içindir. WordPress Core ekibinde değilseniz veya biletin geçerliliğini gözden geçirmekle görevlendirilmediyseniz, bu bölümü yalnız bırakmak muhtemelen en iyisidir.

Tekrar Temiz Olun

Yamanızı gönderdiğinize ve bir sonraki biletinize geçmeye hazır olduğunuza göre, depodaki kasanızın yeni geliştirme için hazır olduğundan emin olun (bkz. Temiz Tut).

Oluşturduğunuz yama dosyasını kök dizinde bırakırken, herhangi bir yeni geliştirmeye müdahale etmemelidir (herhangi bir farktan otomatik olarak hariç tutulmalıdır), kaldırmak en iyisidir. Gönderdiğiniz yama dosyasını istediğiniz zaman biletten yeniden indirebilirsiniz.

Biletlerinizin Üstünde Olmak

WordPress geliştirme tarihindeki en iyi yamayı göndermiş olsanız bile, bu tamamladığınız anlamına gelmez. Herhangi bir nedenle, yamanız gözden geçirilmeyebilir, test edilmeyebilir ve ana hatlara aktarılmayabilir. Biletlerinizi takip etmelisiniz. Arada bir, yamalarınızın gövdeye karşı hala geçerli olduğundan emin olmalısınız ve değilse, onları yenileyin.

E-posta Bildirimleri

Üzerinde çalıştığınız biletlerde bir şeyler değiştiğinde e-posta ile birkaç bildirim alma ihtimaliniz yüksek. Yamanızı yeniden çalışmak veya bir şeyi netleştirmek için bir yorumu yanıtlamak gibi yanıt olarak yapmanız gereken şeyler olabileceğinden bunları okuduğunuzdan emin olun.

En iyi bildirim türü, taahhüt bildirimi veya "sahne" e-postası dediğim şeydir. Bunlar harika. Bir bilet tamamlandı olarak kapatıldığında, kullanıcı adınızın bazı destekler verildiğini görmek harika. Bir dakikanızı ayırın ve sırtınızı sıvazlayın, kazandınız!

Yamalarım

https://core.trac.wordpress.org/my-patches

Yamaları gönderdiğiniz biletlerin durumunu gözden geçirmek için arada sırada bu Trac raporunu kullanın, ancak herhangi bir nedenle bunlar henüz kabul edilmemiş, gözden geçirilmemiş, test edilmemiş veya ana hat üzerinden taahhüt edilmemiş.

Katıldığım Biletler

https://core.trac.wordpress.org/my-comments

Bu, yorum yaptığınız biletleri içerdiğinden Yamalarım raporundan biraz farklı bir rapordur. Belki bir yamayı inceliyor veya test ediyorsun.

Zaman çizelgesi

https://core.trac.wordpress.org/timeline

Bu daha çok kendi kendini tebrik etmek veya bir şeyler yaptığını hatırladığın bileti bulmak için ama şimdi kapanmış olabilir.

Zaman Çizelgesi – WordPress Trac

Varsayılan olarak bu rapor, 90 gün öncesine kadar katıldığınız tüm bilet olaylarını gösterir. Biraz daha geriye bakmak isterseniz, sağ üstte başlangıç ​​tarihini daha geriye ayarlamak için kullanabileceğiniz bir kontrol paneli var ya da ileri geri gitmek için “Önceki Dönem” ve “Sonraki Dönem” bağlantılarını kullanabilirsiniz. zaman çizelgeniz aracılığıyla.

Katılın!

Birbirimizle üzerinde çalıştıklarımızı, başarılarımızı ve başarısızlıklarımızı paylaşmaktan keyif aldık ve bunun gerçekten ödüllendirici olduğunu gördük. Her küçük katkı ile WordPress'i biraz daha ileriye götürmeye yardımcı oluyoruz.

Yapabilecekleri kadar çok insan ne kadar çok şey yaparsa, WordPress o kadar hızlı gelişebilir ve gelişebilir. Hepsi toplar. Katılın, WordPress'i ilerletmeye yardımcı olun!

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir