Yeni Başlayanlar İçin WordPress Eklenti Geliştirme Rehberi
WordPress CMS, İnternet'imizin yüzünü değiştirdi ve zenginleşecek yeni fikirlerin artmasına izin verdi ve açık kaynak hareketi, yazılım ve web geliştirmeye dayanan güçlü bir varlığa sahip. WordPress, web forumları, iş panoları ve hatta klasik bir web sayfası İçerik Yönetim Sistemi gibi diğer birçok komut dosyasına girme yeteneğine sahip bir blog platformudur..
WordPress için eklenti geliştirmeye başlamak için birkaç yoldan geçeceğiz. Adımlar oldukça basittir ve çalışmak için büyük bir özveri gerektirmez. PHP'nin temel bilgileri, WordPress dosya yapısını ve Yönetim panelini temel bir anlayışla bile yararlı olabilir.
Bu kısa eğiticide basit bir WordPress eklentisi oluşturmak için gereken temel adımların üzerinden geçeceğiz. İşlevsellik, işlev çağrımıza iletilen sayıya dayanarak dinamik alıntılar oluşturmak için kullanılacaktır. Eklenti dosyasını yüklemeniz ve Yönetici panelinden etkinleştirmeniz gerekir. Ardından, alıntıların görünmesini istediğimiz sayfalardan ne olursa olsun fonksiyonumuzu arayarak takip edin. Tamamlanan eklenti kaynak koduna bağlantılar bu makalenin ilerleyen bölümlerinde eklenmiştir :)
WordPress İçin Neden Gelişelim??
Eklentiler, ekstra özellikler ekleyerek blogunuzun işlevselliğini artırmanın harika bir yoludur. Bunlar, fonksiyon kancalarıyla şablonunuzun herhangi bir yerine yerleştirilebilir. Zaman içinde WordPress 'plug-in sisteminin genişletilebilirliği, muazzam bir büyüme ve yüzlerce geliştirici tarafından sunulan yazılım parçalarına izin verdi.
WordPress, CMS'sinde benzersiz eklentilerin az ve çok uzakta olduğu gelişmiş özellikler sunar. Bir geliştirici olarak, web günlüğünüzün arka uç özellikleri üzerinde tam kontrol sahibi olursunuz. Bir sistem eklentisi oluşturmak için bir PHP geliştiricisini işe almak, hayal edebileceğinizden çok daha pahalıya mal olacak ve API, kendinizle çalışmak ve kendiniz öğrenmek için oldukça kolaydır..
İkincil bir argüman olarak, WordPress üzerinden geliştirme, kendinizi başka alanlara ayarlamak için harika bir uygulamadır. WordPress'te daha küçük eklentiler ve kenar çubuğu widget'ları oluşturmak, arka uç sisteminin gerçekte nasıl çalıştığını anlamanıza yardımcı olacaktır. İçerik Sistemleri'nin büyük çoğunluğunu daha iyi anlayacağınız için bu yalnızca WordPress ile sınırlı değildir..
1. WP Klasör Yapısı
WordPress klasör yapısına giriş, temel uygulama dizinlerini gösterecektir. Wp içeriğinin içinde bir eklentileri dizin. Burada, tüm eklentilerinizin barındırılacağı yer, tek dosyalar veya doğru adlandırılmış alt dizinler bulunur..
Yalnızca tek bir .php dosyası gerektiren daha küçük eklentiler için, bunu doğrudan eklentilere / dizine yerleştirme seçeneğiniz vardır. Ancak, daha karmaşık uygulamalar geliştirmeye başladığınızda, eklentinizden sonra adlandırılmış bir alt dizin oluşturmak çok daha yararlı olacaktır. İçinde JavaScript, CSS ve HTML içeriyor, PHP işlevlerinizle birlikte.
bir readme.txt
Dosya, eklentinizi indirmeyi teklif etmeyi planlıyorsanız da yararlı olabilir. Bu dosya adınızı ve eklentinin ne yaptığını içermelidir. Yazar olarak, her revizyonla ilgili ayrıntıları ve hangi güncellemelerin çıktığını da düşünebilirsiniz..
2. PHP Dosyanızı Başlatma
Yeni bir eklenti oluştururken basit bir PHP dosyası ile başlamanız gerekir. Buna herhangi bir isim verilebilir ancak genellikle eklentinizin resmi adını yansıtması gerekir. Örneğin, temel kodumuzu oluşturdum ve dosyamı hongkiat-excerpt.phps olarak adlandırdım..
Eklentinizin ilk satırları şart Ayrıştırma motoru için yorum bilgisi olabilir. WordPress dosyanız olmadan işlem yapamayacağından bu son derece önemlidir. Aşağıda kendi kodunuza kopyalayıp kalıp oluşturabileceğiniz bir kod örneği örneği verilmiştir..
Eklenti Adı, etkinleştirmek için gittiğinizde Yönetici arka panelinizde görünecek olandır. Eklentiler panelinin içindeki ayrıntılar bölmesine yerleştirilecek URI ile aynı. Bir sürüm veya açıklama eklemek gerekli olmamakla birlikte, eklentinizin daha profesyonel görünmesini sağlar.
3. WordPress Adlandırma Kuralları ve En İyi Uygulamalar
Eklentinizi gerçekten yapılandırmanın birkaç yolu vardır. Çoğu zaman PHP geliştiricileri, işlevler ve değişken adlarıyla çarpışmaları önlemek için tüm bir sınıf sistemi oluşturacaktır. PHP'nin gelişmiş OOP işlevselliğini bilmiyorsanız, kodunuzu örnek fonksiyonlara yazmanız en iyisidir..
Bu nedenle, örnek kodumuz için verilerimizi barındırmak için tek bir işlev yazacağız. Ayrıca, şablon dosyalarımızda uygulamak için anahtar olan birkaç değişken tanımlamamız gerekir. Aşağıda, eklenti dosyamızdan alınan çekirdek mantık kaldırılmış bir örnek kod verilmiştir..
Örnek kodunuzu yazarken, WordPress tarafından ayarlanan düzenlemeleri ve kılavuzları takip etmek en iyisidir. Önceden tanımlanmış birçok dahili işlev olduğundan, tüm değişkenlerinize ve işlev adlarınıza bir etiket ekleyerek kopyaları önleyebilirsiniz..
Yukarıdaki örneklerde tüm ayar isimlerimizi hongkiat. Bu, genellikle eklenti adınızla ilgili olarak seçtiğiniz herhangi bir anahtar kelimeyle değiştirilebilir. Yukarıdaki kod sadece örnek ayarlar ve bizim son eklentimizle ilgili olmamalı. Bu sadece size değişken isimlerinizin ve fonksiyon çağrılarınızın nasıl yazılacağı konusunda bazı bilgiler vermek içindir..
4. Filtrelere ve İşlemlere Dalış
Ham kodumuza geçmeden önce bahsetmemiz gereken başka bir konsept var. Eylemler ve filtreler Eklenti verilerini manipüle etme yöntemleriyle derinden ilişkili olan tamamen farklı iki kavramdır.
Bu iki kod biti WordPress API'sinde standart olarak gelir. Filtreler ve eylemler, eklenti geliştiricilerin yeni eklentinizle ilgili WordPress yönetici paneli boyunca kod parçalarını güncellemelerine olanak tanır. Bu, kenar çubuğuna yeni bir sekme veya Eklenti seçenekleriniz için ek ayar bağlantıları ekleyebileceğiniz anlamına gelir..
Add_filter () işlevini anlama
bir filtre WordPress'e aktarılan metin veya verilerin bir kısmında kullanılır. Filtreler ile kelimenin tam anlamıyla yapabiliyorsunuz içeriği filtrele Verileri herhangi bir şekilde değiştirmek için kendi özel yazılı fonksiyonlarınız aracılığıyla.
Örneğin, değiştirmek için bir filtre oluşturabilirsiniz. $ the_content
Bu bir WordPress makalesinin tüm yazı içeriğini içeren WordPress tarafından ayarlanan bir değişkendir. Eklentimiz için biz alıyoruz $ the_content
ve karakterlerin uzunluğunu bir alıntı olarak kısaltmak.
Blogunuzun görünümünü ve şeklini özelleştirmek için eklentiler yazarken filtreler kullanışlı olur. Bunlar, bir yazının nasıl gösterileceğini değiştirmek için kenar çubuğu widget'ları veya daha küçük fonksiyonlar yazarken popülerdir. Aşağıda bir filtrenin nasıl uygulanacağını gösteren örnek bir kod satırı bulunmaktadır..
add_filter ('wp_title', 'hongkiat_func');
Burada WordPress sayfa başlığına bir filtre ekliyoruz. Bu kodun resmi eklentimizle ilgili olmadığını ve yalnızca burada örnek olarak kullanıldığını unutmayın..
add_filter
işlevi WordPress'e özgüdür ve sayfa içeriğinde bulunan bir değişkene yeni bir filtre eklemek için kullanılır. Yukarıdaki satırda hedefliyoruz $ wp_title
Mevcut sayfamızın başlığını içerir. Daha sonra bu değişkeni başlıklı sahte bir işleve aktarıyoruz. hongkiat_func ()
bu daha sonra ne amaçla olursa olsun manipüle edip yeni bir başlık etiketi döndürür..
Add_action () işlevini anlama
Eylemler, veri parçaları üzerinde çalışmadıkları, bunun yerine şablonlarınızdaki ve yönetim panelinizdeki önceden tanımlanmış alanları hedef alan filtrelere benzer. Örnek olarak, bir sayfanın içeriğini güncellediğinizde veya düzenlerken bir eylem uygulayabilirsiniz. WordPress, API belgelerinde kapsamlı bir işlem listesi sunar. Aşağıda, önceden tanımlanmış hedef alanların bazılarına aşina olmanız için küçük bir örnek eylem listesi bulunmaktadır..
- publish_post - Bir yayın yayınlandığında veya durum olarak “yayınlanan”
- save_post - Bir gönderi / sayfa başlangıçta oluşturulduğunda veya güncellendiğinde çağrılır
- wp_head - Şablon yüklendiğinde ve
wp_head ()
fonksiyon - loop_end - Son gönderi WordPress döngüsü ile işlendikten hemen sonra çağrılır.
- trackback_post - bir gönderiye yeni bir geri izleme eklendiğinde çağrılır
Yine bu kod parçasının ne kadar basit hale geldiğini görebiliriz. İşlemler ve filtreler arasındaki farkı anlayabiliyorsanız, kapsamlı ve çalışan WordPress eklentileri oluşturmaya çok daha yakın olursunuz. Aşağıda, bir işlem işlevini başlatan başka bir kod satırı var. save_post
kancası. Tekrar açıklığa kavuşturmak için bu, şu andaki gelişen eklentimizle ilgili değildir ve yalnızca bunu anlamak için bir örnek kod parçası olarak kullanılır. ADD_ACTION ()
fonksiyon.
add_action ('save_post', 'bildir');
Yani biz burada öncekiyle benzer bir kurulum görüyoruz. add_filter ()
. 2 değişkene ihtiyacımız var, ilk hedeflediğimiz kanca adı. Bu durumda save_post
bu, ne zaman yeni bir posta kaydedildiğinde, ikinci pozisyonda tanımlanan fonksiyonumuzu arayacağız anlamına gelir (() Bildirmek
). Bildirimi, çalıştırmak istediğiniz işlev adı ne olursa olsun güncelleyebilirsiniz, ancak bu, mevcut örnek eklentimiz için gerekli değildir..
Eklenti Mantığımızı bitirme
Yolumuzu bitirdikten sonra son işlevimizi eklenti dosyamıza ekliyor olacağız. API dokümantasyonu çok spesifiktir ve ileri düzey sorular barındırabilen geliştiricilere mükemmel bir kaynak sağlar. PHP'ye aşina değilseniz, ancak zaman ayırın, kavramlara zaman ayırın ve işler doğal olarak akmaya başlayacaktır.!
Aşağıdaki işlev, eklenti başlık yorumunuzdan hemen sonra eklenmelidir. Alternatif olarak bu, temanızın içine de yerleştirilebilir. functions.php
dosya. Kod, sınırlı sayıda karaktere dayalı dinamik yayın içeriği oluşturmak için kullanılır.
Öyleyse, örneğimize göre öykü alıntılarını yalnızca 55 karakter uzunluğunda sınırlayabiliriz. hk_trim_content ()
işlevi. Bu kod parçasını değiştirmek için bir kenar çubuğu widget'ından veya tema dosyalarınızdan birini kolayca arayabilirsiniz $ the_content
.
= $ limit) array_pop ($ içerik); $ content = implode ("", $ content). '…'; else $ content = implode ("", $ içerik); $ content = preg_replace ('/\Г.+\•/', ", $ content); $ content = application_filters ('the_content', $ içerik); $ content;
Burada kullanılan tüm iç değişkenleri veya işlevleri tam olarak anlamanız beklenmemelidir. İşlevlerinizin nasıl yazılması gerektiği ve bir örnek setin nasıl göründüğü hakkında genel bir anlayış kazanmak çok iyi bir başlangıçtır.
Ayrıca bir çağrı kullandığımızı da fark edebilirsiniz. apply_filters
başka bir WordPress'e özgü işlevdir. Bu, tam olarak kavramanız gerekmeyen başka bir özellik ama WP üzerinden gelecekteki programlamaya yardımcı oluyor. Konuyla ilgili daha fazla ayrıntı ve SSS için application_filters referans sayfasına bakın..
Yukarıdaki çekirdek işlev isimlendirildi hk_trim_content ()
. Bu sadece adlandırılmış 1 parametre gerektirir $ sınırı
. Bu aynı zamanda kısaltılmış olabilir $ lim
alıntılarınızı sınırlandırmak için kaç karakter belirten bir tamsayı saklamalıdır. İçerik, tam posta sayfalarında ve ayrıca statik sayfalarda (hakkımızda, iletişim) kullanılır..
Bu nedenle, bu fonksiyonu çağırmak için parametreyi şablon dosyalarımıza eklememiz gerekir. Bu, muhtemelen telefonunuzda bir yere yerleştirilir index.php
veya loop.php
dosya (lar) ve önce eklentiyi yüklemenizi ister. Aşağıdaki örnek:
Eklentiyi Kurmak ve Çalıştırmak
Sabit kodlamayı atlamak istiyorsanız, eklentinin demo için örnek bir dosya oluşturdum. Sadece bu dosyayı indirin (.php olarak yeniden adlandırın) veya kodu kopyalayıp yeni bir PHP belgesine yapıştırın ve bilgisayarınıza yükleyin. / Wp-content / plugins
rehber.
Tamamlandığında, WordPress yönetim paneline erişmek ve yeni kurulan demo için geçerli eklenti setinize göz atmak istersiniz. Etkinleştirdiğinizde, yeni bir şey olmaz, işlev çağrımızı el ile ekleyene kadar olmaz. Bunu yapmak için sadece gezin Görünüm -> Editör
ve ara single.php
.
Bu dosya, temel makale posta sayfanız için tüm HTML / CSS şablonlarını içerir. Bulana kadar aşağı kaydır içerik()
ve yukarıdaki örnek kodla değiştirin. Bu, hangi görünümün kullanıldığına bakılmaksızın tüm makale sayfalarınızı 55 karakterle sınırlar. Bu işlevi şablonlar dizininizdeki benzer sayfalara da ekleyebilirsiniz. search.php
veya için arşiv
.
Sonuç
Bunlar, WordPress'in geliştirilmesinde çalışmaya başlamanızı sağlayan temel konulardır. Eklenti sistemi çok geniştir ve birçok dahili işlevsellik içerir. Bir eklenti için zaten bir fikriniz varsa, bu konuları pratik etmek için yerel bir WordPress kurulumunda deneyin..
Hala bilgilerin çoğuyla karıştıysanız, WordPress belgelerini gözden geçirebilir ve cevabınızı orada arayabilirsiniz. Geliştirme topluluğu yararlı kullanıcılarla doludur ve forumlar yıllar öncesinden soruları olan arşivleri tutmaktadır..