10up wordpress engineering best practices
TRANSCRIPT
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
Í 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
Lucy Tomas • @_lucymtc • #WCAlicante2017
S OB R E 1 0 UP
USA Canada Europe India
Lucy Tomas • @_lucymtc • #WCAlicante2017
S OB R E 1 0 UP
https://10up.github.io/Engineering-Best-Practices
Lucy Tomas • @_lucymtc • #WCAlicante2017
S OB R E 1 0 UP
Lucy Tomas • @_lucymtc • #WCAlicante2017
R E N D I M IE N T O
Lucy Tomas • @_lucymtc • #WCAlicante2017
WP_Object_Cache y Transients API
RE N D I M I E N T O
RE N D I M I E N T O CAC H E Y T RANS IE NT S
RE N D I M I E N T O CAC H E Y T RANS IE NT S
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
RE N D I M I E N T O CAC H E Y T RANS IE NT S
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
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
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
RE N D I M I E N T O
wp_options autoload
Lucy Tomas • @_lucymtc • #WCAlicante2017
S E G U R I DA D
Lucy Tomas • @_lucymtc • #WCAlicante2017
VA L I DA R , S A N EA R , E S C A PAR
SE GUR IDAD
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
VAL IDA R , S AN EAR
VAL IDA R , S ANE AR , E SCAPAR
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
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
L AT E ESC AP IN G
EV ITAR
VAL IDA R , S ANE AR , E SCAPAR
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD
N ON C EScheck_admin_referer, wp_verify_nonce, wp_nonce_field, wp_create_nonce,…….
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD NON CES
Lucy Tomas • @_lucymtc • #WCAlicante2017
SE GUR IDAD NON CES
Lucy Tomas • @_lucymtc • #WCAlicante2017
L IB R E R Í A S Y F RA M E W O R K S
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…
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
E S T I LO Y DO C U M E N TAC I Ó N
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA S C R I P T
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T JQ UERY
V S
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T JQ UERY
V S
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T
V S
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
Lucy Tomas • @_lucymtc • #WCAlicante2017
V S
JAVA SC R I P T CLOSU RES
Lucy Tomas • @_lucymtc • #WCAlicante2017
JAVA SC R I P T CLOSU RES
Lucy Tomas • @_lucymtc • #WCAlicante2017
G RAC I A S