Požiadavky sú navrhnuté tak, aby udrživali minimálny štandard kvality v kóde WordPress tém nahraných na ThemeForest. Mali by pokryť väčšinu variant, ale niektoré výnimky môžu byť povolené podľa uváženia recenzenta.
Štandardné požiadavky na predkladanie tém – Fáza 1
WordPress vlastnosti
- Téma musí obsahovať widgety vo všetkých inzertných miestach
- Témy musia obsahovať child témy
- wp_nav_menu() musí byť obsiahnuté aspoň na jednom mieste v téme pre jednoduchú správu menu
- Všetky štandardné widgety WordPress by mali byť riadne štylizované / zobrazené vo všetkých oblastiach pre widgety
- index.php by malo byť vyhradené pre štandardné „Najnovšie príspevky“ v blogu
- Do tém nie je dovolené pridávať voľby, ktoré definujú počet príspevkov v archíve alebo strákach kategórií, cez globálne nastavenia.
WordPress Unit Test
- Príspevky sa musia zobrazovať správne, bez zjavných vizuálnych problémov alebo chýb
- Príspevky sa musia zobrazovať v správnom poradí
- Navigácia stránok sa zobrazuje a funguje správne
- Stránka s výsledkami vyhľadávania sa zobrazuje správne
- Keďže „sticky posts“ sú základná funkcia, téma by ich mala štýlovať a zobrazovať správne
- „Čítajte viac“ odkaz musí fungovať správne (odkazy na každom príspevku „<- more ->“ na mieste pre tagy)
- Ak téma podporuje Post Formats, príspevok sa zobrazí ako je určené v index view.
- Nedostatok textu by nemal nepriaznivo ovplyvniť layout
- Téma musí nejakým spôsobom zahŕňať taxonómiu tagov, aj kategórií
- Floats sú správne povolené pre plávajúce elementy (náhľady obrázkov) na konci obsahu príspevku
WordPress Assets
- wp_enqueue_style(), musia byť použité na zaradenie všetkých štýlov
- wp_enqueue_script(), musia byť použité na pridávanie kódu JavaScript na stránku
- Témy musia použiť verziu jQuery s aktuálnou verziou WordPress
- Autori nemôžu odhlásiť počiatočnú verziu jQuery a načítať inú
- Súbory by mali byť includované pomocou SSL, ak je to možné. To možno vykonať buď kontrolou is_ssl () a nastavením prefixu pre protokol, alebo pomocou protokolu -less URI, / /example.com/file.js namiesto http://example.com/file.js
Zabezpečenie
Téma pre WordPress by mala využiť nasledujúce vstavané funkcie na preverenie obsahu pre input a output.
Pre input:
- wp_filter_nohtml_kses()
- wp_filter_kses()
- wp_kses()
Pre output:
- esc_attr()
- esc_html()
- esc_js()
- esc_textarea()
- esc_url()
Pluginy
Priložené pluginy musia byť zahrnuté v TGM Plugin Activation, alebo podobnom riešení pre správu závislosti pluginov. Pluginy možno nainštalovať z WordPress.org, súkromných repos alebo ako ZIP.
PHP
- Témy nesmú mať žiadne PHP oznámenia, varovania alebo chyby – vyvýjajte s povolenými chybami, a WP_DEBUG nastaveným na hodnotu true.
- Skrátené php tagy nie sú povolené
- Databáza by nemala byť prístupná alebo upravovaná priamo. Pokiaľ sú definované funkcie ako získať dáta, musia byť použité namiesto toho. Použite $wpdb a jej metódy pre komunikáciu s databázou namiesto vlastných.
- Tabulátory musia byť použité pre odsadenie – Tabulátory by mali byť použité na začiatku riadku a medzera by mala byť použitá v polovici riadku (pozri WordPress ‚PHP Coding Standards).
- Pri odkazovaní na iné súbory v rovnakej téme sa vyhnite hard-coded URI a cesty k súborom. Namiesto toho odkazujte URI a cesty k súborom cez ich template tags. Napríklad ak chcete odkazovať na obrázok vo vašej téme:
<Img src = „<php echo get_template_directory_uri ();?> / Images / filename.png“ />
- Autori by mali byť podporovaní v používaní zložených zátvoriek, aj v situáciách, kedy sú technicky voliteľné. S nimi sa zvyšuje čitateľnosť a znižuje pravdepodobnosť logických chýb. Napríklad:
namiesto:
if ( empty( $somevar ) )
return false;
použite:
if ( empty( $somevar ) ) {
return false;
}
Alebo, v rámci súboru šablóny alebo iného prevažne HTML súboru, a to aj:
if ( empty( $somevar ) ) :
return false;
endif;
- Použitie funkcie eval () nie je povolené
HTML/CSS
- HTML generované autorom musí byť overené pomocou W3C validátora. Avšak, predpony prehliadača a akýkoľvek iný cutting edge kód bude oslobodený.
- Téma musí byť HTML5 kompatibilná, príslušné sémantické konštrukčné prvky musia byť prítomné a používané správne.
- Žiadne naprogramované inline štýly nie sú povolené. Dynamické inline štýly sú povolené, ak je to potrebné, a wp_add_inline_style() by mala byť použitá, kde sa dá.
- ID a triedy musia byť vhodne pomenované podľa konvencií.
- Použite čitateľné selektory, ktoré opisujú, ktoré elementy štýlujú.
- Zdržujte sa používania prekvalifikovaných selektorov, div.container môže byť nahradené .container
JavaScript
- JavaScript kód by mal byť umiestnený v externých súboroch.
- Súbory JavaScript musia byť umiestnené vo footri, ak je to možné, okrem výnimiek, napríklad: Modernizr, jQuery UI, atď .
- Kód by nemal zobrazovať nejaké chyby alebo upozornenia.
- Celý JavaScript musí byť písaný v „use strict“ móde. Napríklad, môžete to urobiť s jQuery takto:
(Function ($) {
„Use strict“;
/ / Autor kód tu
}) (JQuery);
Pre vývoj podľa štandardov a odchytávanie chýb Vám pomôžu nasledujúce pluginy
Plugin Developer
Plugin, ktorý pomáha vývojárom WordPress vyvíjať.
Tento plugin vám pomôže optimalizovať svoje vývojové prostredie uistením sa, že máte všetky základné nástroje a pluginy nainštalované.
Ak by ste chceli vyskúšať kód a prispieť, pripojte sa na GitHub. Otázky a odporúčania pluginov sú viac než vítané!
Inštalácia
- Pridajte developer folder do plugin adresára (napr. / wp-content/plugins /)
- Aktivujte plugin pomocou ponuky ‚Plugins‘ vo WordPress
Postupujte podľa pokynov.
Plugin Theme-Check
Theme-Check plugin je jednoduchý spôsob, ako testovať Vašu tému, a uistiť sa, že je v súlade s najnovšími štandardmi. S ním môžete spustiť všetky rovnaké automatizované testovacie nástroje na Vašej téme, ktoré WordPress.org používa pri predkladaní tém.
Testy sú spúšťané prostredníctvom jednoduchého admin menu a všetky výsledky sa zobrazia naraz. To je veľmi užitočné pre vývojárov tém, alebo pre každého, kto sa chce ubezpečiť, že jeho téma podporuje najnovšie štandardy a postupy WordPress.
Plugin Debug-Bar
Pridá debug menu do admin panelu, ktorý zobrazuje query, cache, a ďalšie užitočné informácie pre odstránenie chýb.
Nutnosť pre vývojárov!
Ak je povolené WP_DEBUG tiež sleduje PHP varovania a upozornenia.
Ak je povolené SAVEQUERIES, MySQL queries sú sledované a zobrazené.
Pridajte konzoly PHP / MySQL s pluginom Debug Bar.
Zdroj: wordpress.org