Gudrybės WordPress programuotojui

Arūnas Liuiza

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

Jeigu norite modifikuoti ne savo sukurtą temą, kurkite potemę. Taškas.

 

  • 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 
     

  1. Parsisiunčiate Searialized Search Replace DB įrankį.

  2. Išarchyvojate, įkeliate į WP katalogą serveryje

  3. Parašote domenas.lt "Search" sklityje bei dev.domenas.lt "Replace" skiltyje ir sekate nurodymais.

  4. 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

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