Izstrādes nianses

Strādājot ar PandaGo2 tēmu un WordPress kopumā jāņem vērā vairākas nianses, kas aprakstītas zemāk.

Saturs

Visam saturam ( teksts, bildes, saites ) jābūt dinamiskam un maināmam no WordPress administrācijas paneļa. Izņēmumi ir piemēram dizaina vizuālie elementi, teksts uz pogām, vai citi teksti, kas loģiski liekas, ka nav maināmi no administrācijas paneļa ( piem. sadaļas nosaukums Produkti, utt. ). Šos atsevišķos tekstus tāpat pievieno izmantojot WordPress tulkošanas funkciju, ko sīkāk vari apskatīt sadaļā tulkošana.

Dinamiskās saites

Veidojot WordPress tēmu kodā visam jābūt maksimāli dinamiskam, kas nozīmē netiek izmantoti statiskas, hardkodētas saites ne CSS/JS failu iekļaušanai, ne arī bildēm. Par CSS/JS failu pievienošanu mazliet aprakstīts šeit, kā arī /pandago-child/includes/assets.php jau ir pievienoti pāris faili, kurus var ņemt, kā paraugu.

Tas pats attiecas uz bildēm. Satura bildēm jābūt maināmām no administrācijas paneļa, tātad kodā nedrīkst būt statiska saite uz bildi. Izņēmums var būt vizuālie dizaina elementi, tos pievieno vai nu ar CSS palīdzību, vai arī PHP kodā, bet pievienojot PHP kodā šīs bildes, ceļam tāpat jābūt dinamiskam. Šim nolūkam vari izmantot konstanti PDGC_URL, kas izvada dinamisko saiti uz WordPress tēmu. Tāpat WordPress piedāvā dažādas citas funkcijas, lai iegūtu saiti uz vēlamo mapi piemēram get_template_directory_uri(), vai get_stylesheet_directory_uri().

Faili

Centies tēmas struktūru veidot loģiski un saprotami. Galvenā doma ir tāda, lai, ja vajadzības gadījumā projektam pieslēdzas kāds cits, tad viss ir vienkārši atrodams.

CSS/JS failus pievieno failā /includes/assets.php, Gutenberg blokus pievieno failā /includes/blocks.php un pielāgotas funkcijas raksti failā /includes/theme-functions.php.
Ja piemēram ir vajadzība pievienot tēmai logdaļas ( widgets ), izveido jaunu failu /includes/widgets.php un iekļauj to iekš /functions.php, kā tas jau ir izdarīts ar citiem failiem, kas nāk kopā ar tēmu.

Tāpat ir arī ar šablonu failiem. Piemēram galvenes un kājenes kods atradīsies attiecīgi failos /header.php un /footer.php. Lapas kods iekš /page.php. Ja ir koda daļas, kas atkārtojas vairākās vietās, izmanto mapi /template-parts kopā ar funkciju get_template_part().

Lapām un rakstiem var veidot atsevišķus šablonus, ja tas ir nepieciešams. Šos glabā mapē /templates, lai viss būtu pārskatāmāk. Vairāk par lapu un rakstu šabloniem šeit.

Atsevišķus šablonus var veidot arī rakstiem, arhīviem, kategorijām, sākumlapai, utt. Par failu hierarhiju vari palasīt arī WordPress dokumentācijā.

Header un Footer

Lai katram projektam no jauna nebūtu jāraksta visi struktūras tagi ( html, head, body ), tas viss jau ir iekļauts PandaGo2 Child tēmā. Failā /header.php ir rindiņa <?php get_template_part( 'template-parts/head' ); ?>, kas iekļauj visu nepieciešamo <head> struktūru un WordPress funkcijas, kā wp_head();. Līdzīgi ir arī /footer.php failā. Šīs koda rindiņas nost nedzēs. Ja ir vajadzība kaut ko pievienot lapas <head> sadaļā, izveido jaunu failu /template-parts/head-additional.php, viss, kas atradīsies šajā failā tiks pievienots lapas <head> tagā. Ja tiešām ir vajadzība pārrakstīt kaut ko iekš <head> taga, tad vari pārkopēt failu no PandaGo2 tēmas /pandago2/template-parts/head.php uz savas tēmas mapi /mana-tema/template-parts/head.php un veikt izmaiņas tur.

Nekad neveic izmaiņas /pandago2 mapē, jo tās tiks pārrakstītas pie katra atjauninājuma.

Tulkošana

Lai tēma būtu tulkojama izmanto iebūvētās WordPress funkcijas _e(); un __(); nevis statisku tekstu. Šīs funkcijas paņems ievadīto tekstu un, ja tam būs pieejams tulkojums izvadīs iztulkoto teksta versiju. Šis attiecas uz visiem "mazajiem" vārdiņiem, kas ir tēmā un netiek pievienoti caur administrācijas paneli dinamiski.

Piemēram: teksts uz pogas "Ielādēt vairāk" jāizvada kodā <?php _e( 'Ielādēt vairāk', 'manas-temas-text-domain' ); ?>, vai to var saglabāt arī, kā PHP mainīgo <?php $string = __( 'Ielādēt vairāk', 'manas-temas-text-domain' ); ?>

Pēctam izmantojot WPML varēs noskenēt tēmas mapi, kur visi šie vārdi tiks reģistrēti un tos būs iespējams iztulkot no administrācijas paneļa.

Gutenberg bloki

Visas lapas ieteicams veidot ar Gutenberg blokiem un Advanced Custom Fields, kur tas ir iespējams. Liels pluss šim piegājienam ir tāds, ka saturu pēctam klients pats var pārveidot, vai blokus pamainīt vietām, kā arī tas, ka katram blokam iespējams pievienot savu CSS un JS un tie tiek iekļauti tikai tajās lapās, kur konkrētais bloks tiek izmantots, kas samazina lapas ielādes laiku un uzlabo Google PageSpeed rezultātu. Šis neattiectas uz tādiem, kā kategoriju skats, utt., kur saturam netiek izmantots teksta redaktors. Vairāk par to šeit.