WordPress için çekirdek kod ekler (parçalar). WordPress için bir eklenti nasıl yazılır Bir veritabanını sorgulayın

Merhaba sevgili okuyucular! El altında ilgili kod parçalarının (eklerin) net bir seçimine sahip olmanın önemini zaten fark etmiştim. Protestocular birbirlerine baktı. Bugünkü yazı, siteyi motorda çalıştırmak için genişletilebilecek veya daha da geliştirilebilecek kod parçalarına odaklanacak. Bonus 10 kod parçasından oluşur. Başlayalım:

Eklenti olmadan bağlantı sonrası gezinme

Dinamik telif hakkı metni

Bu parça, bodrum katında basit bir telif hakkı metni oluşturmanıza olanak tanır. Tarih otomatik olarak ayarlanır, işlev seçilir tarih().
Parçayı kopyalamanız yeterli altbilgi.php:

< b>(C)
| < a href= "" >
|

Koristuvach hakkında bilgiler

WordPress, katkıda bulunanların WP Yönetici profillerine kendileri hakkında bilgi eklemelerine olanak tanır. Muhabirlerin bilgilerini görüntülemek için bu parçayı görüntüleyebilirsiniz:

Düğmeyi çalıştırmak için, sonraki satırı dosyaya ekleyerek öğesine bağlanmanız gerekir. başlık.php:

< script type= "text/javascript" src= "https://apis.google.com/js/plusone.js">

Metin için PHP kodu

Bir makale yazarken bir kod girmeniz gerekebilir, aksi takdirde basitçe eklerseniz görünmeyecektir. Bu parçayı benzersiz bir şekilde tanımlamak için onu dosyaya eklemek gerekir. fonksiyon.php onlar:

Etiketlerdeki boşlukları temizlemeyi unutmayın!
Ve önümüzdeki sırayla, yerleştirilmesi gereken yerde PHP Kod şu şekilde görünüyor:

[kod][/kod]

Ana sayfadaki gönderileri etkinleştirin

Herhangi bir kategorideki tüm girişleri ana sayfadan kapatmak için bu parçayı seçip dosyaya ekleyebilirsiniz. fonksiyon.php Konularınız:

1
2
3
4
5
6
7
8
9

function includeCat($query) (
if ( $sorgu -> is_home ) (
$query -> set ("kedi", "-3,-5,-23");
}
$sorgu döndür;
}
add_filter("pre_get_posts", "excludeCat");
?>

Eklenti olmadan “Bread Crumble”

Bir atıştırmalık olarak, blogdaki yardımın ardından bu kod parçası, yol, yazının görünümünde görünüyorsa, ek bir gezinme öğesi olarak "ekmek egzersizi" olarak organize edilebilir. Kategori sayfasındaki sıralama ve hedefler için sayfanın yan tarafı. Bunun gibi bir şey (Başlık->Kategori 1->İstatistiğin adı). Bu kod parçası dosyaya eklenmelidir fonksiyon.php Konularınız:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

function the_breadcrumb() (
Eko "

    " ;
    if (! is_home() ) (
    Eko "
  • echo get_option("ev");
    yankı "">";
    yankı "Golovna";
    Eko "
  • " ;
    if (is_category() || is_single() ) (
    Eko "
  • " ;
    Kategori("
  • " ) ;
    if (is_single() ) (
    Eko "
  • " ;
    başlık();
    Eko "
  • " ;
    }
    ) elseif (is_page() ) (
    Eko "
  • " ;
    echo the_title();
    Eko "
  • " ;
    }
    }
    elseif (is_tag()) (single_tag_title();)
    elseif (is_day() ) ( echo "
  • Arşivler " ; the_time("F jS, Y" ) ; echo "
  • " ; }
    elseif (ay_ay()) ( echo "
  • Arşivler " ; the_time("F, Y" ) ; echo "
  • " ; }
    elseif (is_yıl() ) ( echo "
  • " ; the_time("Y" ) ; echo " için arşivler
  • " ; }
    elseif (is_author() ) ( echo "
  • Yazarın arşivi "; Eko "
  • " ; }
    elseif (isset ($_GET [ "sayfalandı" ] ) && ! empty ($_GET [ "sayfalandı" ] ) ) ( echo "
  • Arşiv"; yankı"
  • " ; }
    elseif (is_search()) ( echo "
  • Sonucu arayın"; Eko "
  • " ; }
    Eko "
" ;
}
?>

Dosyalar için aşağıdaki işlevi kullanmak için (archive.php,categor.php, page.php, single.php, search.php)

"Ekmek cipslerinin" dış görünümü güzelliğini ortadan kaldırır) O zaman stiller üzerinde çalışmanız gerekecek!

Şimdilik bu kadar =)

En son makaleler ve derslerden haberdar olmak için abone olun

Eriyor arkadaşlar. Bugün herhangi bir PHP kodunu widget'larda, makalelerde ve WordPress sayfalarında nasıl etkili bir şekilde kullanabileceğimizi bulacağız. Perde arkasında, CMS'nin böyle bir işlevi mevcut değildir ve bir müşterinin ödeyebileceği maksimum tutar, HTML kodunun kullanılmasıdır.

PHP kodu neden düzgün çalışmıyor?

Geliştiricilerin neden bu popüler ve güçlü motora PHP kodunun otomatik olarak düzenlenmesi gibi harika özellikleri yüklemedikleri merak konusu olabilir. Başlangıçta bunu düşünüyordum, ancak gelecekte bu politika güvenlik açısından yürütülecek ve PHP widget'larda veya kayıtların ortasında kullanılmasa bile yanlış sonuçlara - veritabanına - yol açabilir. ve Quack web sitesinin tamamı yok edilmek üzere.

Bu nedenle, PHP ile çalışmak, az ya da çok, akışlarında sıkışıp kalan programcılara veya kişilere rüşvet verilmesine verilir - her durumda, dosyalar herhangi bir komut dosyasıyla sonuçlanacaktır.

Herkese açık siteler için (birkaç yazarın olduğu yerlerde), PHP'nin makale gövdesinden kaldırılması gerçek bir sabotaj riski oluşturur, çünkü herhangi bir yazar, makale düzenleme penceresi aracılığıyla siteye erişimi reddedebilir.

Güvensizlik seviyesinin ötesinde tüm bu durumu 3 seviyeye ayırdım:

  1. Perakendecilerin amaçladığı gibi her şeyi kaybedin - güvenli bir şekilde vipadkovo chi navmisne poshkoditi sitesi katlanarak.
  2. PHP'nin widget'lara yüklenmesine izin vermek, site yöneticisinin erişimi olmadığı sürece orta düzeyde bir güvenliktir.
  3. Kodun istiflenmesi güvenli değildir, sitenin parçaları zayıf olabilir, makaleleri ve sayfaları düzenlemesine izin verilir (moderatörler, yazarlar)

Widget'ların neden PHP'ye ihtiyacı var?

Beslenme bireyseldir, dolayısıyla ek programlama kullanılarak her şey her zaman uygulanabilir. Özellikle bu ekimi yazmadan önce, şu anda inşaatını yapmakta olduğum siteyi müşterinin isteğinden ilham aldım. Daha sonra, bitişikteki widget'ın kenar çubuğundaki "Yeni Ürünler" başlığındaki yeni ürünlerin listesini görüntülemek gerekiyordu. Standart WordPress widget'ları bu özelliğe sahip değildir.

Yiyecek, benzersiz yeteneklere sahip bir eklenti arayışı ile garip PHP kodunun durgunluğu arasında kaldı. Böyle bir görevin betiği gerçekten çok küçük ve siteyi başka hiçbir yerde kullanılmayacak süslü bir eklentiyle özelleştirmek istemedim.

PHP'nin yardımıyla 2 komut oluşturabiliriz:

  • Sitenin bazı eklentilerini komut dosyalarıyla değiştirin ve barındırma maliyetini azaltın;
  • Bazı eklentiler için işlevlerin nasıl uygulanacağı hala belirsizdir.

İlk aşamada widget'lardan bahsedeceğim, ardından kodun içerikte görüntülenmesi için bir blok ekleyeceğim.

Widget'larda PHP için eklentiler

Eklentilerin avantajı: WordPress tasarımında tema değiştirirken şablona ekleme fonksiyonunun çalışması aksamaz; her şey web yöneticisinin girişinden etkilenmeden çalışmaya devam eder. Şablona eklenen kancaları değiştirirseniz, bunları manuel olarak yenisine aktarmanız gerekecektir.

Uygulamamda bir müşteri için bir web sitesi oluşturuyorum ve eğer kendisi tasarımı değiştirmek isterse, o zaman Function.php dosyaları vb. aracılığıyla oluşturulanlar gibi hiçbir ayarlama olmayacak, bu yüzden ben yapacağım (Bu arada) eklentilere güvenerek siteyi idare etmeniz mümkün olduğu kadar basit.Dahası, Trafiğimiz az ve fazla talep olmayacak.

PHP Kod Widget'ı

Bu eklentiyi işimde uzun süredir kullanıyorum, orijinal metin widget'ına benzer şekilde, yalnızca metin ve HTML ve PHP'yi işlemek için oluşturulmuş mevcut widget'lar listesine ekliyor.

PHP Kod Widget'ı resmi WordPress deposundadır, ismine göre kolayca bulabilirsiniz. Bu tür eklentiler nasıl kurulur?

Hiçbir yapılandırma gerekmez; widget, eklentiyi kurup etkinleştirdikten hemen sonra listede görünecektir. PHP Kodunu kenar çubuğuna sürükleyin ve oraya herhangi bir komut dosyasını ekleyin.

Eklenti olmadan WordPress widget'ı için PHP

Bu durumda, standart işlevin yerini alacak, PHP'nin işlenmesine izin veren bir WordPress metin widget'ı sağlayacak bir kancaya ihtiyacımız var.

Böyle bir kanca, Function.php dosyasına iş parçacıkları tarafından eklenir (örneğin, yayı kapatmadan önce?>). Sonuç olarak eklentiyle birlikte gelen widget'ın yeni bir sürümü bulunmuyor ve PHP kodları standart metin olarak işlenmeye başlıyor.

Hazır kod:

Add_filter("widget_text", "text_html_php_widget", 100); function text_html_php_widget($metin) ( if(strpos($metin,")".$metin); $metin = ob_get_contents(); ob_end_clean(); ) return $metin; )

İlk satır, tıklandığında standart metin widget işlevini yenisiyle (text_html_php_widget) değiştiren bir filtre içerir ve ardından yeni işlevin bir açıklaması bulunur.

İşte WordPress'teki makaleler ve gönderiler için PHP kodu

PHP kodunu yazmanın ortasında, koda widget'lardan çok daha erken ihtiyaç duyulur, bu nedenle bu makalenin ilk bölümünde kenar çubuğuna daha yakından baktım, böylece potansiyel olarak güvenli olmayan işlevleri gereksiz yere etkinleştirmekten kaçınabilirsiniz.

Ancak gönderiler komut dosyaları gerektirebilir. En yaygın kullanım alanı eklentisi olmayan bir sitede kart görüntülemektir. Ancak kart için başka bir teknik kullanabilirsiniz - özel bir yan şablon oluşturun (konuyla aynı değil).

Bir keresinde bir sonraki adım için PHP girmem gerekiyordu:

Bir video sitesi üzerinde çalışıyorum. Dizinin bölümleri, sezonlardan sonra oynatma listelerinde gösteriliyordu ve her oynatma listesinin altında, sayfanıza gönderilen bölümlerin bir listesinin görüntülenmesi gerekiyordu. Bir site haritasına benzer, ancak daha katlanabilir; ana özellikler diğer başlıkların listelenmesini gerektirir. Dış görünüm mesajının HTML kodunu manuel olarak yazmak mümkün olabilir, ancak yüzlerce bölüm vardır ve prosedür sıkıcıdır. Tim dahası, yeni bir serinin ortaya çıkması için, üzerindeki mesajın manuel olarak değil manuel olarak eklenmesi gerekir. Uygulama için PHP işlevlerine güvenmeye karar verdim.

Exec-PHP'de PHP içeriği için eklenti

Bu eklenti 7 yıldır güncellenmemesine rağmen sorunlarla mucizevi bir şekilde başa çıkıyor. Ve bunu bir nedenden dolayı seçtim - rakiplerle aynı kısa kodları vikorist etmiyor, ancak WordPress gönderilerine açık bir görünümle kod ekleme yeteneği veriyor .

Exec-PHP eklentisi depodadır ve motor yönetimindeki menü aracılığıyla kurulabilir.

Yalnızca tek bir kurulum vardır - metin widget'ında yazma koduna izin vermek/kaldırmak, gönderilerde ve günün sayfalarında çalışmayı etkinleştirme yeteneği, eğer almanız gerekiyorsa - eklentiyi devre dışı bırakın.

Bir makaleye PHP kodu eklemek için HTML moduna (Metin sekmesi) geçmeniz gerekir. Her şey için daha iyi olan görsel mod, kod sıkıştırılmıştır.

Eklenti olmadan WordPress makalelerinde Vikonannya PHP kodu

Widget'lara benzeterek, eklentiyi içeriğe PHP komut dosyaları eklemenizi sağlayan özel bir işlevle değiştirebiliriz. Ne yazık ki kodun, bir eklenti gibi, etiketlere tepki vererek otomatik olarak çalışacağı bir seçenek bulamadım. Kısa kodlu bir wiki'ye ihtiyacınız var. PHP bilgim gerekli fonksiyonu tek başıma yazmaya yetmiyor, bunu istiyorum. Kısa kodla çalışmanın işi zorlaştıran küçük bir kısmı var, bunu aşağıda tartışacağım.

Aşağıda açıklanan fonksiyon nasıl kullanılır?

  1. Bunu function.php dosyasına ekliyoruz;
  2. İstatistiğin gerekli yerine bir yapı eklenir; bu, gerek kalmadan eklenebilecek bir koddur.

İşlev:

/* WordPress makalelerinde ve sayfalarında php'yi başlatın: code */ function start_php($matches)( eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $ inline_execu ; ) function inline_php($content)( $content = preg_replace_callback("/\(((.|\n)*?)\[\/startphp\]/", "start_php", $content); $content = preg_replace ( "/\((.|\n)*?)\[\/startphp\]/", "$1", $content); return $content; ) add_filter("the_content", "inline_php");

Nestaça

PHP kodunun ortasında HTML eklentileri veya metin varsa işlenmez. Echo komutunu kullanarak herhangi bir metin veya etiketin eklenmesi gerekip gerekmediğini, bunu manuel olarak yapmanıza gerek kalmayacaktır. Kod tamamen PHP'dir ve %100 doğru formattadır.

Sağ

Echo "Yani pratik yapacaksın";

Yanlış

Echo "Bu satır doğru"; Bu yüzden pratik yapmayın

Exec-PHP eklentisinin böyle bir sorunu yok - hem metin hem de HTML görüntüleniyor, ancak PHP kodunun tüm öğeleri ilgili etiketlerle çerçeveleniyor.

Zengin web yöneticileri için, bu makalede açıklanan konu, yaratıcılık için sonsuz olasılıklar açar - daha önce geliştirilmesi mümkün olmayanları uygulayabilir ve bunların yerine filtre, işlev veya kanca içermeyen bir dizi eklenti oluşturabilirsiniz.

Kodla çalışan tüm web yöneticileri, HTML veya PHP'yi yanlış yere yerleştirerek sitelerine zarar vermekten korkarlar. Tabii WordPress kodunu oraya koymazsanız her şeyi sıkıştırabilirsiniz. Ancak bu CMS masaüstü, yeni başlayanlar için çok uygundur ve anlaşılması zor olacaktır.

Bu yazıda HTML veya PHP kodunu WordPress'e güvenli bir şekilde nasıl ekleyeceğimize bakacağız. Koçan için bira - bu yararlı olabilecek bir şeydir.

Şimdi kodu WordPress'e eklemeniz gerekiyor

Sitenin ömrü boyunca web yöneticisinin WordPress'e sayfalarda görüntülenebilecek kod yüklemesi gerekebilir. Bu, çeşitli nedenlerden dolayı gerekli olabilir: örneğin, bir tansiyon düşürücü, bir acil durum widget'ı kurmak veya bir kişilik şablonu eklemek.

WordPress kod eklemek için iki yol sunar. Hadi bir bakalım.

Ek “Metin” widget'ının kurulumu

WordPress'e ek bir widget'ın kodunu yüklemek için "Harici Görünüm" konsolundaki menü öğesine ve "Widget'lar" alt öğesine gitmeniz gerekir. Ortada “Metin” i bulun ve fareyle istediğiniz alana taşıyın.

Widget açılacak ve başlığını doldurabilecek ve gerekli kodu uygun alana yerleştirebileceksiniz. “Kaydet” butonuna tıkladıktan sonra işlem sitenin sayfalarında görünecektir.

WordPress'e kod yüklemenin bu yöntemi, HTML, PHP ve JavaScript üzerinde işlemler gerçekleştirmek için uygundur. Bu yöntem, kolay olması ve yeni başlayanlar için iyi olması nedeniyle sıklıkla denenir.

Dosyanın kurulumu

Ek dosya düzenleme için WordPress'e kod yüklemek yeni başlayanlar için önerilmez, ancak herkesin er ya da geç bu konuda uzmanlaşması gerekecektir. Bu yöntem basittir çünkü HTML veya PHP ilk yöntemde açıklandığı gibi yalnızca widget alanına değil herhangi bir bölüme yerleştirilebilir. Birkaç kurulum yöntemi vardır, ancak bunlar güvenli olmayabilir ve hasar görmesi durumunda sitenin verimsiz olmasına neden olabilir. Bu nedenle hızlı bir şekilde bu yöntemi kullanmadan önce dosyaların ve veritabanının yedek kopyasını oluşturmak gerekir.

Kodu doğrudan WordPress'teki bir dosyaya eklemek için sitenin hangi alanının diğer dosyaya karşılık geldiğini bilmeniz gerekir. Farklı şablonlar ve farklı dosyalar bu ve diğer işlevleri birleştirdiğinden burada kesin önerilerde bulunmak mümkün değildir. Ancak dosyalar hakkında daha fazla bilgi edinebilirsiniz. Kod WordPress'te şablon dosyasına yüklenir ve CMS dosyasından oluşturulabilir.

WordPress kodunun aynı tarzda yazılması ve çekirdekte, eklentilerde ve temalarda manuel olarak okunabilmesi için WordPress satıcıları tarafından benimsenen kodlama standartlarına uyulması önerilir. Bu standartlar PEAR standardına çok benzer, ancak önemli farklılıklar vardır. Bunlara ve oluşturulan eklentilere aşina olmanızı ve ardından mümkünse bunları denemenizi öneririm.

Ayrıca, PHP kodunun kendisini yazmak için standartların yanı sıra, işlevler ve kancalar için yorumlar da dahil olmak üzere kodu belgelemek için standartlar da vardır: PHP Belgeleme Standartları (İngilizce)

Tek ve çift ayaklı

Sırada herhangi bir değişiklik yoksa, tek ayak, diğer durumlarda çift ayak kullanın. Sıradaki patilerin taranmasına gerek yoktur ve kötü koku varsa temizlenmesi önerilir:

Echo "Bağlantı adı"; echo "$bağlantıadı";

Bu durumda diğer satır, kaldırılması gereken değişiklikleri temizlemez ancak güvenlik önlemleriyle çalışmak gerekir. Dolayısıyla böyle bir kayıt için önemli bir suç daha sonra temize çıkacaktır. Zagalom'a göre böyle bir not nahoş sayılabilir! asistanın güvenlik görevlisinden ayrılması.

Girmek

Giriş, koda her zaman mantıksal bir yapı göstermekten sorumludur. Temizlemek yerine sekmeleri (Sekme tuşu) kullanın; bu daha fazla esneklik sağlar. Gerekirse sıranın ortasına hizalamak için onu ters çevirmeye çalıştılar.

Kural: Tablolama erişim için sıranın başına yerleştirilmelidir, boşluklar ise doğrulama için sıranın ortasına yerleştirilebilir.

If (umova) ( $foo = "birdeğer"; $foo2 = "birdeğer2"; $foo_bar = "birdeğer3"; $foo5 = "birdeğer4"; )

Görünmez sekme ve boşluk karakterlerini gösterirken kod şu şekilde görünür:

If (umova) ( ---$foo.....= "birdeğer"; ---$foo2....= "birdeğer2"; ---$foo_bar.= "birdeğer3"; ---$foo5 ....= "birdeğer4"; )

İlişkisel diziler için suçluluk değerleri yeni bir satırdan başlar. Dizideki öğeler yeniden düzenlendiğinde "kalan" com'un konulması önerilir; bu, yeni öğelerin eklenmesini kolaylaştırır...

$my_array = array(---"foo"..=> "birdeğer", ---"foo2"..=> "birdeğer2", ---"foo3"..=> "birdeğer3", -- - "foo34". => "birdeğer3");

Kıvırcık tapınak stili

Şekilli kollar, aşağıda gösterildiği gibi stildeki tüm bloklar için kullanılır:

If (umova) ( action1(); action2(); ) elseif (umova2 && umova3) ( action3(); action4(); ) else ( defaultaction(); )

Uzun bir blok varsa iki veya daha fazla kısa bloğa veya fonksiyona bölünebilir. Bu kadar uzun bir blok gerekliyse, kısa bir yorum ekleyin, böylece kıvırcık yayın kendisinin neyi kapattığını anlayabilirsiniz. Bu yaklaşım 35 veya daha fazla satırı olan bir blok için mantıklıdır.

Sezgisel olarak anlamlı olmayan herhangi bir kod hakkında yorum yapmalısınız.

Kokmamak için önce kıvırcık kolları Vikoristleyin.

If (umova) ( action0(); ) if (umova) ( action1(); ) elseif (umova2) ( action2a(); action2b(); ) foreach ($items as $item) ( proses_item($item); )

Şekillendirilmiş kolların vikorize edilebilmesinin her zaman her tasarımın bir sıra koruma tarzı anlamına geldiğini lütfen unutmayın.

$var = "tehlikeli""; // işlenmemiş veriler, kod dışı bırakılmış olabilir veya olmayabilir $id = some_foo_number(); // veriler bir sayı olarak çıkışlı olacak ancak çıkışlı olmayacak $wpdb->query($wpdb-> hazırla( "UPDATE $wpdb->posts SET post_title = %s WHERE ID = %d", $var, $id));

%s satırlar için, %d ise tamsayılar için kullanılır. O kadar teşekkür ederim ki koku “pençelerinizde” değil! $wpdb->prepare() işlevinin kendisi satırları görüntüler ve gerektiği gibi pedler ekler. hazırla() yönteminin avantajı, esc_sql() öğesinin manuel olarak değiştirilmesini hatırlamaya gerek olmaması ve ayrıca esc_sql() öğesinde değiştirilmiş sarmalayıcılar olacağından satırın ilk etapta yer tutucularla doldurulmasıdır.

Temel verileri isteyin

Veritabanına doğrudan sorgu yazmamaya dikkat edin. Bu uygun bir işlevse ve WP'de bunlardan çok sayıda varsa, gerekli verileri kaldırabilirsiniz - kontrol edin.

Yararlı sorgu değiştirme işlevi, gereksiz kod karmaşıklığından tasarruf etmenize yardımcı olur. Ayrıca önbellekle çalışan birçok işlev vardır ve bu, robotun kodunu önemli ölçüde hızlandırabilir.

Sınıfların, fonksiyonların, dosyaların, sabitlerin, değişkenlerin adları

İşlev adları, değişiklikler, kancalar

Vikorist'teki küçük harfler a'dan z'ye değişiklikler, kancalar ve işlev adları ve birkaç CamelCase. Sözlerinizi alt koltuklarla paylaşın_. Gereksiz yere ünlülerin isimlerini boşa harcamayın; Kodun açık ve kendi kendini belgeleyen olmasına izin verin.

fonksiyon bazı_adlar($bazı_değişkenler) ([...])

Sınıf adları

Kelimeleri büyük harflerden düzeltip isimlerden ayırmak gerekiyor. Tüm kısaltmalar (akronlar, kısaltmalar) BÜYÜK HARF olmalıdır.

Walker_Category Sınıfı Walker ([...]) sınıfını WP_HTTP ([...]) genişletir

Sabitler, alt kayıtlardan ayrı olarak ÜST KAYIT'ta kelimelerle yazılır:

Define("DOING_AJAX", true);

Dosyaları adlandırın

Suçlular anlamıştır ve suçlular da çok az harfle veya hiç harf olmadan yer alır ve suçlu sözcükleri kısa çizgiyle ayrılır - .

Eklenti-adım.php

Sınıf dosyalarını adlandırın

Suçluluklar class- ön ekine sahip sınıf adına dayanır, sınıf adı bir tire ile değiştirilir, örneğin WP_Error şöyledir:

Sınıf-wp-error.php

Bu dosya adlandırma standardı, sınıflara sahip tüm mevcut ve yeni dosyalar için geçerlidir. Ancak ekleme dosyaları vardır: class.wp-dependeency.php, class.wp-scripts.php, class.wp-styles.php. Bu dosyaların bir sınıf öneki vardır. , kelime sınıfından sonraki nokta kısa çizginin yerini alır.

Fonksiyon parametrelerindeki değişikliklerin kapsamlı değerleri

Boolean değerleri string değerlerden daha önemlidir. Tobto. Fonksiyonu çağırırken doğru/yanlış yerine geçmek vikorystuvat'tan daha iyidir. Row parametresinin anlamını açıklayacağım.

Kötü kod:

Fonksiyon eat($ne, $yavaşça = true) (...) eat("mantar"); yemek("mantar", doğru); // Doğru ne anlama geliyor? eat("test sürümü", false); //yanlış ne anlama geliyor, doğru mu?

PHP, adlandırılmış argümanları, rastgele argümanların anlamını desteklemediğinden ve bu nedenle, uygulamalarda olduğu gibi bir işlev çağrısıyla uğraştığımızda, işlevin belgelerine bakmamız gerekir. Kod, boole değerleri yerine açıklayıcı satır değerleri kullanılarak daha fazla okunabilir.

Garny kodu:

Fonksiyon eat($ne, $hız = "yavaşça") (...) eat("mantarlar"); ye("mantar", "yavaş yavaş"); eat("test sürümü", "hızlıca");

Daha fazla parametreye ihtiyacınız varsa $args dizisini düzenleyin. Bu en iyisi!

Gerçekten iyi kod:

Function eat($ne, $args) ( ... ) eat("erişte", array("hız" => "orta"));

Dinamik kanca adları için enterpolasyon

Okuma ve tanımlama kolaylığı için, adlarında değişiklik olan kancalar ara değere eklenecektir (yay ( ) şeklinde yerleştirilecektir) ve mutlaka birleştirilmesi gerekmeyecektir:

Tanıtıcılar, PHP'nin enterpolasyonlu serilerdeki veri türlerini doğru şekilde ayrıştırabilmesi için gereklidir.

// doğru do_action("($new_status)_($post->post_type)", $post->ID, $post); // yanlış do_action($new_status "_". $post->post_type, $post->ID, $post);

Mümkün olduğu durumlarda etiket adlarındaki dinamik anlamlar olabildiğince kısa ve net tutulabilir. $user_id, diyelim ki $this->id'den çok daha anlamlı.

Üçlü operatör

Üçlü operatörler iyidir, ancak her zaman ifadenin yalanını değil doğruluğunu doğrulamanızı önerirler. Aksi takdirde, ek engeller yoluyla yanıltmak kolaydır. Vinyatok – bu vikoristannya! empty() , bazen yazılması zordur.

Doğrulama nasıl yapılır:

// (bunun hakkında ne düşünüyorsunuz = doğru)? (sonra robimo tse): (inakshe tse); $music_type = ("caz" == $müzik) ? "havalı": "falan"; / / (Değerler neden boş değil - ! boş)? (sonra robimo tse): (inakshe tse);

Nasıl yazılmaz:

// (Neden düşünmüyorsunuz! = doğru)? (sonra robimo tse): (inakshe tse); $music_type = ("caz" != $müzik) ? "blah": "havalı";

Zihin Ustası Yodi

Mantıksal denklemleri seçerken, önce sabitleri ayarlayın ve gerçek değer kötüdür ve gerçek değer sağ eldir.

If (true == $the_force) ( $victorious = you_will($be); )

Eğer belirttiğimiz uygulamada diğer = işaretini kaçırırsak (kuşkusuz, ne bulduğumuzu size söylemeyeceğiz), o zaman PHP değişikliğini reddederiz ve bu daha kolay olur, çünkü kod işlenmez. Ve eğer tasarım bir ağ geçidiyse - $the_force = true , o zaman aklımız her zaman karışacak ve merhamete ihtiyacımız olmayacak ve yakalanması hala önemli olan böylesine ciddi bir hatayı gözden kaçırabiliriz!

Böyle bir "tersine çevrilmiş" yazının sadece çağrılması gerekiyor.

Değeri і == , != , === і!== . "Umovi Jodi"< , > , <= или >Okumak çok daha önemli ve burada onları vikorize etmemek daha iyi.

Akıllı kod

Kısaca söylemek gerekirse kodu okumak ilk planda olabilir, üslup açısından önemli olabilir ya da belli olmayan ama çok hızlı bir şey olabilir.

Isset($var) || $var = bazı_işlevler(); // yoksa! isset($değişken) && $değişken = bazı_işlev();

Yani bu harika bir kayıt, programcının bu araştırmayı tamamladığı açık. Başka herhangi bir okuyucu ve çoğu zaman yazar için, böyle bir kayda girebilmek için biraz araştırmanız ve birkaç saniye veya dakika harcamanız gerekir. Bu bariz veya mantıklı bir giriş değil ve benzersiz olması gerekiyor ve daha kısaca, ancak daha açık bir şekilde yazılmalıdır:

If (! isset($var)) ( $var = some_function(); )

Operatör boğarak affediyor @

PHP bir çekirdek operatörünü destekler: @ işareti. PHP koduna herhangi bir virüs aktarırsanız, bu virüsün oluşturduğu hatalarla ilgili bildirimler dikkate alınmayacaktır.

Bu operatör çekirdekte bulunduğunda, genellikle değişikliği normal şekilde işleyemeyecek kadar tembel olduğu tartışılır. Yogo vikoristannya sert tavsiye edilmez PHP belgelerinde belirtildiği gibi:

Lütfen unutmayın: Bugünden itibaren "@" operatörü, betiğin çalışmasını kesintiye uğratan kritik hatalara ilişkin bildirimlerin görüntülenmesini engelliyor. Ayrıca bu, izinleri engellemek için “@” kullandıysanız, herhangi bir işlev çalışırken meydana gelecektir, mevcut olmadığı veya yanlış yazıldığı için komut dosyasının geri kalanı herhangi bir bildirimde bulunulmadan iptal edilecektir.

WordPress en popüler CMS'lerden biridir. WordPress, başlangıcından bu yana bir blog motoru olarak oluşturulmuş ve bu site yönetim sisteminin popülaritesi nedeniyle, farklı türde sitelerin oluşturulmasına olanak tanıyan bir dizi ek eklenti geliştirilmiştir. Elbette, WP'deki diğer motorlarda olduğu gibi, bir web yöneticisinin farkında olması gereken birçok farklı tuzak vardır.

WordPress motorunun temel işlevleri

WordPress belgelerinde yüzlerce PHP işlevi bulunur ve bunların çoğu yalnızca belirli görevlere yanıt olarak nadiren gözden geçirilir. Tema ve widget geliştirirken en yaygın olan az sayıda WordPress özelliğini seçtim.

WordPress H1 Başlığı

İşte WordPress'te birinci seviye H1 başlığının nasıl kopyalanacağına bir bakış. Kural olarak, birinci düzey başlık H1, sayfadaki yalnızca bir başlıktan sorumludur ve WordPress tasarım temalarının çoğu, H1 ...

WordPress widget’ları oluşturma

Bu makale güçlü WordPress widget'larının oluşturulmasıyla ilgilidir. Şimdi şuna bakalım: doğrudan tasarım temasında bir WordPress widget'ı oluşturma, standart WordPress widget'ları da dahil olmak üzere hangi widget'in görüntüleneceği özel bir eklenti oluşturma...

WordPress'in kafasını gereksiz kodlardan nasıl temizleyebilirim?

WordPress promosyon kullanıcıları için, gerekli olmayan kodu başlıkta görüntüleyin. Gelin bu küçük yazıya bir göz atalım ki site hakkında iyi bir izlenim edinebilesiniz. Önce tüm gereksiz mesajları göreceğiz: RSS beslemeleri, WordPress sürümü...

WordPress'te komut dosyalarının ve stillerin çatışmasız bağlantısı

Çakışmasız yöntem birkaç nedenden dolayı gereklidir: bir komut dosyasını farklı eklentilerle bağlarken çakışmayı önler. Bu bağlantıyla yöntem, bir grup js dosyasını tek bir dosyada birleştirmenize ve bunu optimizasyon için tarayıcıya düzgün bir formatta sunmanıza olanak tanır.

Virüsler