Gudrybės WordPress programuotojui
Arūnas Liuiza
-
http://arunas.co
ask@arunas.co
- MB „Einam kavos“
founder
- VšĮ „Verslo iniciatyva“
co-founder
- Kauno Kolegija
dėstytojas
Nemokami įskiepiai:
- Gust
- Content Cards
- tinyCoffee
- tinySocial ir kt.
Mokami įskiepiai:
- tinyIP
- Paysera integracija
Kas yra WordPress
programuotojas?
wp-config.php
magija
Iškelti iš WP katalogo
Paprasčiausia - vienu katalogu aukščiau
- Truputį saugiau
- Patogiau versijų kontrolei
Paslėpti failų redaktorių
- Appearance > Editor
- Plugins > Editor
- PATI pavojingiausia WordPress Core funkcija
- 99.9% klientų visiškai nereikalinga
- 100.1% klientų anksčiau ar vėliau ten prikiška nagus
define( 'DISALLOW_FILE_EDIT', true );
wp_posts dieta
-
Šiukšlinė (Trash)
-
define( 'EMPTY_TRASH_DAYS', 30 );
-
define( 'EMPTY_TRASH_DAYS', 0 );
-
-
Auto išsaugojimo intervalas (Auto-save)
-
define( 'AUTOSAVE_INTERVAL', 60 );
-
define( 'AUTOSAVE_INTERVAL', 180 );
-
-
Įrašų versijos (Revisions)
-
define( 'WP_POST_REVISIONS', true );
-
define( 'WP_POST_REVISIONS', 5 );
-
define( 'WP_POST_REVISIONS', false );
-
Auto-atnaujinimai
- Core (wp-config.php):
define( 'WP_AUTO_UPDATE_CORE', false ); define( 'WP_AUTO_UPDATE_CORE', true ); define( 'WP_AUTO_UPDATE_CORE', 'minor' );
- Drąsiems - įskiepiai ir temos (functions.php*):
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' )
Dev serveryje
Log'ai:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'WP_DEBUG_LOG', true );
Neminifikuoti skriptai:
define( 'SCRIPT_DEBUG', true );
Cache:
define( 'WP_CACHE', false );
DB užklausos:
define( 'SAVEQUERIES', true ); // (array) $wpdb->queries
Potemė
(Child theme)
Potemės
-
Sukurkite naują katalogą wp-content/themes kataloge
-
Sukurkite style.css failą
-
Pridėkite "Template: tema" į temos antraštę
-
Sukurkite keičiamo šablono kopiją ir atlikite pakeitimus
Plačiau - WP Kaunas #2 - Child temos
functions.php*
Vieta custom kodui
-
Vieta kur galima* lengvai pridėti custom snippet'us, rastus StackOverflow.
-
* Galima nebūtinai reiškia reikia.
-
-
Jeigu tas custom kodas nėra tiesiogiai susijęs su konkrečios temos veikimu, geriau dėti į įskiepį.
Įskiepis custom kodui
-
wp-content/plugins sukurkite katalogą jususvetaine-custom
-
Šiame kataloge sukurkite failą jususvetaine-custom.php
-
Šio failo pradžioje įdėkite įskiepio antraštę
-
Aktyvuokite įskiepį
- Veikia taip pat, kaip functions.php, tik yra įkraunamas kiek anksčiau
<?php
/*
Plugin Name: Manosvetaine.lt Custom Functions
*/
Tinginiams :)
-
My Custom Functions įskiepis
Leidžia įvesti custom kodą per WP-Admin
Naudoja eval() kodui iš DB paleisti
dev / staging
serveris
Dev / staging serveriai
-
Dev serveris
-
svetainės kopija kurioje kasdienis programuoto darbas.
-
gali naudoti gan seną DB, Lorem ipsum duomenis ir pan.
-
-
Staging serveris
-
svetainės kopija, kurioje visi pakeitimai galutinai patikrinami prieš paleidžiant į production serverį.
-
Paprastai stengiamasi testuoti su kuo panašesne į production DB.
-
-
Visad naudokit bent jau dev serverį jeigu svetainė jau paleista ir turi lankytojų.
Tinklalapio perkėlimas
-
Failų perkėlimas
-
FTP/SSH
-
Jei svetainė labai didelė, galima apsiriboti paskutinio/kelių paskutinų mėn. upload'ais keliant į dev
-
-
DB perkėlimui:
-
hosts failas
-
dev.domenas.lt + Serialized PHP Search Replace
-
hosts failas
-
Leidžia jūsų kompiuteryje reikalingą domeną nukreipti į kitą IP adresą (localhost/dev/staging) serverį
-
Visi lankytojai įvedę domenas.lt patenka į 1.1.1.1 IP
-
Jūs įvedė domenas.lt patenkate į 2.2.2.2 IP
-
-
hosts failo vieta priklauso nuo OS:
-
Win: %SystemRoot%\System32\drivers\etc\hosts
-
OS X: /private/etc/hosts
-
Linux: /etc/hosts
-
-
Failo formatas:
- 127.0.0.1 domenas.lt (nukreipia į localhost)
-
2.2.2.2 domenas.lt (nukreipia į 2.2.2.2 serverį)
dev.domenas.lt
-
Patogu, kai tarpinį rezultatą reikia parodyti klientui
-
Suimportavus DB visos vidinės nuorodos vis dar rodo į domenas.lt
-
Parsisiunčiate Searialized Search Replace DB įrankį.
-
Išarchyvojate, įkeliate į WP katalogą serveryje
-
Parašote domenas.lt "Search" sklityje bei dev.domenas.lt "Replace" skiltyje ir sekate nurodymais.
-
Ištrinate įrankį iš serverio.
Įskiepiai
-
Nepamainomas įrankis kiekvienam WP programuotojui;
-
Rodo PHP klaidas, SQL užklausas, HTTP užklausas, hook'us ir daug kitos naudinigos informacijos kiekvienam puslapyje;
Kiti įskiepiai
-
Transients Manager (Pippin Williamson)
-
WP Crontrol (John Blackbourn)
-
Rewrite Rules Inspector (Daniel Bachhuber / Automattic)
-
Kiti:
Apibendrinimas
Apibendrinimas
- Naudokit dev serverį;
- Naudokit Query Monitor;
-
Custom kodui sukurkite įskiepį;
- Naudokit potemes (child theme);
- Išnaudokit wp-config.php;
Klausimai?
WP Kaunas'16-08 - tips&tricks for developers
By Arūnas Liuiza
WP Kaunas'16-08 - tips&tricks for developers
- 2,043