10up wordpress engineering best practices
TRANSCRIPT
![Page 1: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/1.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
W O R D P R E S S M E JO R E S P RÁC T IC A S
CO - O R G A N I ZA D O RA W O R D P R E S S VA LE N C I A Y W O R D PR E S S D E N I A
AU T O RA P LUG I N S E N R E P O S I T O R I O W O R D P R E S S . O R G
LUCY T OMA S , W EB E N G IN EER @1 0UP
W O R D PR E SS E N G I N E E R I N G B E S T P RACT I CE S
![Page 2: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/2.jpg)
Í N D I C E
Sobre 10up
Rendimiento
Seguridad
Librerías y frameworks
Patrones de diseño, documentación y estilo
Algunas buenas prácticas en JavaScript
![Page 3: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/3.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
S OB R E 1 0 UP
USA Canada Europe India
![Page 4: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/4.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
S OB R E 1 0 UP
https://10up.github.io/Engineering-Best-Practices
![Page 5: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/5.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
S OB R E 1 0 UP
![Page 6: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/6.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
R E N D I M IE N T O
![Page 7: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/7.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
WP_Object_Cache y Transients API
RE N D I M I E N T O
![Page 8: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/8.jpg)
RE N D I M I E N T O CAC H E Y T RANS IE NT S
![Page 9: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/9.jpg)
RE N D I M I E N T O CAC H E Y T RANS IE NT S
![Page 10: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/10.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
wp_cache_set() / wp_cache_get()
RE N D I M I E N T O CAC H E Y T RANS IE NT S
![Page 11: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/11.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
RE N D I M I E N T O CAC H E Y T RANS IE NT S
![Page 12: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/12.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
RE N D I M I E N T O
admin-ajax.php
CAC H E Y T RANS IE NT S
![Page 13: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/13.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
WP_Query vs. get_posts() vs. query_posts()
RE N D I M I E N T O
hook pre_get_posts
WP _QU ERY
![Page 14: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/14.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
Argumentos de WP_Query que optimizan la consulta
RE N D I M I E N T O
'no_found_rows' => true ( evita SQL_CALC_FOUND_ROWS )
'update_post_term_cache' => false
'update_post_meta_cache' => false
'fields' => 'ids'
Evitar'posts_per_page' => -1
'post__not_in'
WP _QU ERY
![Page 15: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/15.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
RE N D I M I E N T O
wp_options autoload
![Page 16: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/16.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
S E G U R I DA D
![Page 17: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/17.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
VA L I DA R , S A N EA R , E S C A PAR
SE GUR IDAD
![Page 18: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/18.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
VAL IDA R , S AN EAR
VAL IDA R , S ANE AR , E SCAPAR
![Page 19: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/19.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
sanitize_* wp_kses_*
sanitize_text_field(), sanitize_key(), sanitize_email(), sanitize_title(), wp_kses,…….
VAL IDA R , S ANE AR , E SCAPAR
![Page 20: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/20.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
VA L IDA R , ESC APAR
SE GUR IDAD
- Atributos: esc_attr()
- Enlaces: esc_url()
- Traducciones: esc_html_e(), esc_html__() en lugar de _e() y __()
VAL IDA R , S ANE AR , E SCAPAR
![Page 21: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/21.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
L AT E ESC AP IN G
EV ITAR
VAL IDA R , S ANE AR , E SCAPAR
![Page 22: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/22.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
P R EVE N I R I NY EC C I O NE S S Q LC O N W P D B P R EPAR E
VAL IDA R , S ANE AR , E SCAPAR
![Page 23: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/23.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
N ON C EScheck_admin_referer, wp_verify_nonce, wp_nonce_field, wp_create_nonce,…….
![Page 24: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/24.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD NON CES
![Page 25: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/25.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD NON CES
![Page 26: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/26.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
L IB R E R Í A S Y F RA M E W O R K S
![Page 27: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/27.jpg)
E N W O R D PR E S S
9 9 % D E LO Q U E SE N E C E S I TAM O S
L I B R ER Í AS / FRA M EW OR KS
Y mucho más…
![Page 28: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/28.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
PAT R O N E S D E D I S E Ñ OD E S I G N PATT E R N S
![Page 29: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/29.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
E S T I LO Y DO C U M E N TAC I Ó N
![Page 30: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/30.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA S C R I P T
![Page 31: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/31.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T
U S O D E J Q U ERY M O D ERA D O
![Page 32: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/32.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T JQ UERY
V S
![Page 33: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/33.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T JQ UERY
V S
![Page 34: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/34.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
EV I TA R H AC E R L A M I S M A S EL EC C I Ó N M Á S D E U N A
V EZ
JAVA SC R I P T
![Page 35: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/35.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T
V S
![Page 36: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/36.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T
C LO S U R ESEV I TA C O N TAM I NA R EL O B JE T O W IN D O W L I M I TAN D O E L AL C ANC E D E VAR I AB L ES Y
F UNC I O N ES
![Page 37: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/37.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
V S
JAVA SC R I P T CLOSU RES
![Page 38: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/38.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T CLOSU RES
![Page 39: 10up WordPress Engineering Best Practices](https://reader036.vdocuments.us/reader036/viewer/2022062503/587d6fb81a28ab32318b7879/html5/thumbnails/39.jpg)
Lucy Tomas • @_lucymtc • #WCAlicante2017
G RAC I A S