Buenas prácticas en el desarrollo con WordPress - #WCSantander

Darío BF
Darío BFFront-End designer & developer
dariobf.com #WCBilbao
BUENAS PRACTICAS
EN EL DESARROLLO CON
WORDPRESS
DARIOBF
EXPERTO EN WORDPRESS #WCSantander
@DarioBF
dariobf.com #WCBilbao
¡Hola! Soy Darío,
diseñadory maquetador front-end.
@DarioBF
dariobf.com
DARIOBF
EXPERTO EN WORDPRESS
#WCSantander
dariobf.com #WCBilbao
Diseñador UI/UX
Maquetador Front-End
Especializado en WordPress
Desarrollador en ActualidadBlog
Formador
Consultor
OrganizadorWordCamp Santander
OrganizadorWPCantabria
Editor de traducciones es_ES
dariobf.com
DARIOBF
EXPERTO EN WORDPRESS
#WCSantander
dariobf.com #WCSevilla16
ANTES DE EMPEZAR
SIGUE LAS REGLAS
#WCSantander
Plugins Themes
dariobf.com #WCSevilla16
if ( is_admin() ) {
require_once('codigo_para_admin.php');
}else{
require_once(‘codigo_para_frontend.php’);
}
AL CÉSAR, LO QUE ES DEL CÉSAR
#WCSantander
dariobf.com #WCSevilla16
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
wpcf7_enqueue_scripts();
}
if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
wpcf7_enqueue_styles();
}
NO, NO LO NECESITAS
#WCSantander
dariobf.com #WCSevilla16
REMOVER, NO MEZCLAR
#WCSantander
Naming prefixes
O dicho de otra forma: añade prefijos únicos a tus
funciones
Cuando creas una función, añade un prefijo tal que si tu plugin
se llama “Mi pepino plugin”, todas las funciones empiecen por
el prefijo “mpp_” para evitar colisiones con el core, el theme y
otros plugins activados.
dariobf.com #WCSevilla16
NO A LOS CSRF
#WCSantander
Cross-Site Request Forgeries
Son peticiones no esperadas o duplicadas desde
tu propio sitio o -lo que es peor- desde otro sitio.
Acarrean cambios irreversibles en la base de datos, dañando tu
instalación.
Evítalo utilizando los nonce
dariobf.com #WCSevilla16
NO URLS HARDCODEADAS
#WCSantander
Si tienes que llamar a un fichero, utiliza las
funciones de WordPress para obtener la ruta de
tu theme o plugin.
No escribas la ruta relativa (ni la absoluta)
directamente en el código.
dariobf.com #WCSevilla16
NO REINVENTES LA RUEDA
#WCSantander
Utiliza la API de WordPress siempre que puedas.
El codex no muerde.
dariobf.com #WCSevilla16
DI NO AL AUTOLOAD
#WCSantander
Las opciones se guardan por defecto con
autoload, pero no todas lo necesitan.
update_option('mi_opcion',$mis_datos,'no');
dariobf.com #WCSevilla16
JUNTOS COMO HERMANOS
#WCSantander
Cuando hay un conjunto de opciones que
siempre se leen juntas, ¿por qué no guardarlas
juntas?
update_option('mi_opcion', array(
'a' => $mis_datos_a,
'b' => $mis_datos_b,
'c' => $mis_datos_c,
'd' => $mis_datos_d,
)
);
dariobf.com #WCSevilla16
LA CASA POR LOS
CIMIENTOS
#WCSantander
La base de un buen desarrollo
empieza con una estructura de
ficheros y carpetas sólida.
css (dir)
inc (dir)
js (dir)
languages (dir)
page-templates (dir)
404.php
archive.php
author.php
category.php
comments.php
content.php
content-aside.php
content-image.php
content-link.php
content-none.php
content-page.php
content-quote.php
content-status.php
editor-style-rtl.css
editor-style.css
footer.php
functions.php
header.php
image.php
index.php
page.php
rtl.css
screenshot.png
search.php
sidebar.php
sidebar-front.php
single.php
style.css
tag.php
dariobf.com #WCSevilla16
SÉ UN ARQUITECTO
#WCSantander
La arquitectura de información de tu sitio son las
paredes de tu casa.
Utiliza Custom Post Types, Metaboxes y todas las herramientas
que necesites para jerarquizar, organizar y representar tu
contenido de la forma más óptima para el proyecto web.
dariobf.com #WCSevilla16
PROCREA
#WCSantander
Es realmente importante que crees temas hijo
para mantener la integridad de tu sitio frente a
actualizaciones.
dariobf.com #WCSevilla16
PROCREA
#WCSantander
/*
Theme Name: Twenty Fifteen Child
Theme URI: http://example.com/twenty-fifteen-child/
Description: Twenty Fifteen Child Theme
Author: John Doe
Author URI: http://example.com
Template: twentyfifteen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-
layout, accessibility-ready
Text Domain: twenty-fifteen-child
*/
dariobf.com #WCSevilla16
PLUGINDEPENDENCIA
#WCSantander
Evita utilizar plugins siempre que puedas; cosas
como Custom Post Types, Metaboxes o consultas
personalizadas son realmente sencillas de hacer.
dariobf.com #WCBilbao
¡GRACIAS!
@DarioBF
dariobf.com
¿PREGUNTAS?
#WCSantander
1 of 18

More Related Content

What's hot(20)

Crear Plugin de WordPress desde CeroCrear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde Cero
Eduardo Turiño2.3K views
Gestion y Administracion de WordPress con WP-CLIGestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLI
Oscar Abad Folgueira366 views
Taller de WordPress avanzado | #EBE11Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11
Rafael Poveda4.4K views
WordPress para programadoresWordPress para programadores
WordPress para programadores
wpargentina945 views
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
Adolfo Sanz De Diego7.2K views
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
Luis Miguel Martín1.9K views
Cómo crear un theme en 2017 desde un diseñoCómo crear un theme en 2017 desde un diseño
Cómo crear un theme en 2017 desde un diseño
Juan Hernando García6.3K views
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
Ramiro Estigarribia Canese238 views
Diseño webDiseño web
Diseño web
valenciaredsocial153 views
Creación de un plugin para WordPressCreación de un plugin para WordPress
Creación de un plugin para WordPress
Dani Reguera Bakhache1.3K views
Desarrollo Web: HTML + BootstrapDesarrollo Web: HTML + Bootstrap
Desarrollo Web: HTML + Bootstrap
Workshop Digital1.9K views
wp-cliwp-cli
wp-cli
Jesús Alberto Ríos Odreman120 views
Carlos Pascual #WPvalladolid 2014Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014
Wordpress Valladolid5.3K views

Similar to Buenas prácticas en el desarrollo con WordPress - #WCSantander

Similar to Buenas prácticas en el desarrollo con WordPress - #WCSantander(20)

2014 04 padrino2014 04 padrino
2014 04 padrino
Andrés Placencia408 views
Emprendiendo con WordpressEmprendiendo con Wordpress
Emprendiendo con Wordpress
Ytzvan Mastino420 views
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
CesarAndresCardozoPa7 views
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
CesarAndresCardozoPa14 views
Separando el Contenido de la PresentaciónSeparando el Contenido de la Presentación
Separando el Contenido de la Presentación
Christian Van Der Henst S.406 views
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
Vicente Gerardo Guzman Lucio241 views
Administrar WooCommerce con WP-CLIAdministrar WooCommerce con WP-CLI
Administrar WooCommerce con WP-CLI
Fernando García Rebolledo217 views
Qué es phpQué es php
Qué es php
Chocoroy Hernandez145 views
Dockers y wpDockers y wp
Dockers y wp
Eric Zeidan292 views
Infografia farmacia laravelInfografia farmacia laravel
Infografia farmacia laravel
FUNDET ECUADOR31 views
DreamweaverDreamweaver
Dreamweaver
2015Daniamejia93 views
Responsive web design: reinventando el diseño webResponsive web design: reinventando el diseño web
Responsive web design: reinventando el diseño web
Claudio Adrian Natoli Michieli1.1K views
Proyecto WordPressA - QuantiKa14Proyecto WordPressA - QuantiKa14
Proyecto WordPressA - QuantiKa14
QuantiKa14853 views
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000
Javier Suárez Ruiz232 views

Buenas prácticas en el desarrollo con WordPress - #WCSantander

  • 1. dariobf.com #WCBilbao BUENAS PRACTICAS EN EL DESARROLLO CON WORDPRESS DARIOBF EXPERTO EN WORDPRESS #WCSantander @DarioBF
  • 2. dariobf.com #WCBilbao ¡Hola! Soy Darío, diseñadory maquetador front-end. @DarioBF dariobf.com DARIOBF EXPERTO EN WORDPRESS #WCSantander
  • 3. dariobf.com #WCBilbao Diseñador UI/UX Maquetador Front-End Especializado en WordPress Desarrollador en ActualidadBlog Formador Consultor OrganizadorWordCamp Santander OrganizadorWPCantabria Editor de traducciones es_ES dariobf.com DARIOBF EXPERTO EN WORDPRESS #WCSantander
  • 4. dariobf.com #WCSevilla16 ANTES DE EMPEZAR SIGUE LAS REGLAS #WCSantander Plugins Themes
  • 5. dariobf.com #WCSevilla16 if ( is_admin() ) { require_once('codigo_para_admin.php'); }else{ require_once(‘codigo_para_frontend.php’); } AL CÉSAR, LO QUE ES DEL CÉSAR #WCSantander
  • 6. dariobf.com #WCSevilla16 if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); } if ( function_exists( 'wpcf7_enqueue_styles' ) ) { wpcf7_enqueue_styles(); } NO, NO LO NECESITAS #WCSantander
  • 7. dariobf.com #WCSevilla16 REMOVER, NO MEZCLAR #WCSantander Naming prefixes O dicho de otra forma: añade prefijos únicos a tus funciones Cuando creas una función, añade un prefijo tal que si tu plugin se llama “Mi pepino plugin”, todas las funciones empiecen por el prefijo “mpp_” para evitar colisiones con el core, el theme y otros plugins activados.
  • 8. dariobf.com #WCSevilla16 NO A LOS CSRF #WCSantander Cross-Site Request Forgeries Son peticiones no esperadas o duplicadas desde tu propio sitio o -lo que es peor- desde otro sitio. Acarrean cambios irreversibles en la base de datos, dañando tu instalación. Evítalo utilizando los nonce
  • 9. dariobf.com #WCSevilla16 NO URLS HARDCODEADAS #WCSantander Si tienes que llamar a un fichero, utiliza las funciones de WordPress para obtener la ruta de tu theme o plugin. No escribas la ruta relativa (ni la absoluta) directamente en el código.
  • 10. dariobf.com #WCSevilla16 NO REINVENTES LA RUEDA #WCSantander Utiliza la API de WordPress siempre que puedas. El codex no muerde.
  • 11. dariobf.com #WCSevilla16 DI NO AL AUTOLOAD #WCSantander Las opciones se guardan por defecto con autoload, pero no todas lo necesitan. update_option('mi_opcion',$mis_datos,'no');
  • 12. dariobf.com #WCSevilla16 JUNTOS COMO HERMANOS #WCSantander Cuando hay un conjunto de opciones que siempre se leen juntas, ¿por qué no guardarlas juntas? update_option('mi_opcion', array( 'a' => $mis_datos_a, 'b' => $mis_datos_b, 'c' => $mis_datos_c, 'd' => $mis_datos_d, ) );
  • 13. dariobf.com #WCSevilla16 LA CASA POR LOS CIMIENTOS #WCSantander La base de un buen desarrollo empieza con una estructura de ficheros y carpetas sólida. css (dir) inc (dir) js (dir) languages (dir) page-templates (dir) 404.php archive.php author.php category.php comments.php content.php content-aside.php content-image.php content-link.php content-none.php content-page.php content-quote.php content-status.php editor-style-rtl.css editor-style.css footer.php functions.php header.php image.php index.php page.php rtl.css screenshot.png search.php sidebar.php sidebar-front.php single.php style.css tag.php
  • 14. dariobf.com #WCSevilla16 SÉ UN ARQUITECTO #WCSantander La arquitectura de información de tu sitio son las paredes de tu casa. Utiliza Custom Post Types, Metaboxes y todas las herramientas que necesites para jerarquizar, organizar y representar tu contenido de la forma más óptima para el proyecto web.
  • 15. dariobf.com #WCSevilla16 PROCREA #WCSantander Es realmente importante que crees temas hijo para mantener la integridad de tu sitio frente a actualizaciones.
  • 16. dariobf.com #WCSevilla16 PROCREA #WCSantander /* Theme Name: Twenty Fifteen Child Theme URI: http://example.com/twenty-fifteen-child/ Description: Twenty Fifteen Child Theme Author: John Doe Author URI: http://example.com Template: twentyfifteen Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: light, dark, two-columns, right-sidebar, responsive- layout, accessibility-ready Text Domain: twenty-fifteen-child */
  • 17. dariobf.com #WCSevilla16 PLUGINDEPENDENCIA #WCSantander Evita utilizar plugins siempre que puedas; cosas como Custom Post Types, Metaboxes o consultas personalizadas son realmente sencillas de hacer.