SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...Darío BF
 
Crear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde CeroCrear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde CeroEduardo Turiño
 
Gestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLIGestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLIOscar Abad Folgueira
 
Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11Rafael Poveda
 
WordPress para programadores
WordPress para programadoresWordPress para programadores
WordPress para programadoreswpargentina
 
Trabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentroTrabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentroRafael Poveda
 
VI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temasVI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temasJuan Hernando García
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSSLuis Miguel Martín
 
Cómo crear un theme en 2017 desde un diseño
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ñoJuan Hernando García
 
Software Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivoSoftware Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivoRafael Poveda
 
Instalación y configuración de un sitio web en Wordpress 3.8
Instalación y configuración de un sitio web en Wordpress 3.8Instalación y configuración de un sitio web en Wordpress 3.8
Instalación y configuración de un sitio web en Wordpress 3.8Dani Reguera Bakhache
 
Creación de un plugin para WordPress
Creación de un plugin para WordPressCreación de un plugin para WordPress
Creación de un plugin para WordPressDani Reguera Bakhache
 
¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro
¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro
¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuroJuan Hernando García
 
Desarrollo Web: HTML + Bootstrap
Desarrollo Web: HTML + BootstrapDesarrollo Web: HTML + Bootstrap
Desarrollo Web: HTML + BootstrapWorkshop Digital
 
Cómo crear plugins para Wordpress
Cómo crear plugins para WordpressCómo crear plugins para Wordpress
Cómo crear plugins para Wordpressralcocer
 

La actualidad más candente (20)

WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
 
Crear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde CeroCrear Plugin de WordPress desde Cero
Crear Plugin de WordPress desde Cero
 
Gestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLIGestion y Administracion de WordPress con WP-CLI
Gestion y Administracion de WordPress con WP-CLI
 
Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11Taller de WordPress avanzado | #EBE11
Taller de WordPress avanzado | #EBE11
 
WordPress para programadores
WordPress para programadoresWordPress para programadores
WordPress para programadores
 
Bootstrap, un framework CSS
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
 
Trabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentroTrabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentro
 
VI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temasVI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temas
 
Introducción a los Frameworks CSS
Introducción a los Frameworks CSSIntroducción a los Frameworks CSS
Introducción a los Frameworks CSS
 
Cómo crear un theme en 2017 desde un diseño
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
 
Software Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivoSoftware Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivo
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Instalación y configuración de un sitio web en Wordpress 3.8
Instalación y configuración de un sitio web en Wordpress 3.8Instalación y configuración de un sitio web en Wordpress 3.8
Instalación y configuración de un sitio web en Wordpress 3.8
 
Diseño web
Diseño webDiseño web
Diseño web
 
Creación de un plugin para WordPress
Creación de un plugin para WordPressCreación de un plugin para WordPress
Creación de un plugin para WordPress
 
¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro
¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro
¿Por qué defender la web abierta? 5 reflexiones para mejorar nuestro futuro
 
Desarrollo Web: HTML + Bootstrap
Desarrollo Web: HTML + BootstrapDesarrollo Web: HTML + Bootstrap
Desarrollo Web: HTML + Bootstrap
 
Cómo crear plugins para Wordpress
Cómo crear plugins para WordpressCómo crear plugins para Wordpress
Cómo crear plugins para Wordpress
 
wp-cli
wp-cliwp-cli
wp-cli
 
Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014
 

Destacado

Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...
Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...
Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...Mariella Miranda
 
#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...
#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...
#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...Metriplica
 
#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...
#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...
#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...Metriplica
 
#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson
#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson
#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard JohnsonMetriplica
 
#Metricsday2017 SEO Analytics. Alfonso Quinto
#Metricsday2017 SEO Analytics. Alfonso Quinto#Metricsday2017 SEO Analytics. Alfonso Quinto
#Metricsday2017 SEO Analytics. Alfonso QuintoMetriplica
 
#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...
#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...
#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...Metriplica
 
#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...
#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...
#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...Metriplica
 
Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)wcsk
 
Профилирование кода в WordPress
Профилирование кода в WordPressПрофилирование кода в WordPress
Профилирование кода в WordPressGennady Kovshenin
 
Wordpress: pagine vs articoli - categorie vs tag
Wordpress: pagine vs articoli - categorie vs tagWordpress: pagine vs articoli - categorie vs tag
Wordpress: pagine vs articoli - categorie vs tagLaura Sacco
 
WordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPressWordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPressPancho Pérez Salazar
 
Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16tshellberg
 
Sécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueSécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueMaxime Jobin
 
Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Amit Bajracharya
 
Risorse e metodi per imparare a usare WordPress
Risorse e metodi per imparare a usare WordPressRisorse e metodi per imparare a usare WordPress
Risorse e metodi per imparare a usare WordPressLaura Sacco
 

Destacado (16)

Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...
Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...
Wordcamp Lima 2014: Theming like a boss. Buenas prácticas de diseño y maqueta...
 
#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...
#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...
#Metricsday2017 Mejorando el ROA de nuestro remarketing a través del Audience...
 
#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...
#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...
#Metricsday2017 CRO: Qué, cómo y cuándo optimizar nuestro sitio. Sebastián P...
 
#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson
#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson
#Metricsday2017 ¿A qué debemos estar atentos en este 2017? Richard Johnson
 
#Metricsday2017 SEO Analytics. Alfonso Quinto
#Metricsday2017 SEO Analytics. Alfonso Quinto#Metricsday2017 SEO Analytics. Alfonso Quinto
#Metricsday2017 SEO Analytics. Alfonso Quinto
 
#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...
#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...
#Metricsday2017 Modelos de datos con sentido sobre Google Analytics. Roberto ...
 
#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...
#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...
#Metricsday2017 Creando dashboards de GA sobre Google SpreadSheets y Qlik. Mó...
 
Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)
 
Профилирование кода в WordPress
Профилирование кода в WordPressПрофилирование кода в WordPress
Профилирование кода в WordPress
 
Wordpress: pagine vs articoli - categorie vs tag
Wordpress: pagine vs articoli - categorie vs tagWordpress: pagine vs articoli - categorie vs tag
Wordpress: pagine vs articoli - categorie vs tag
 
WordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPressWordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPress
 
Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16
 
Sécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueSécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risque
 
WordCamp Gdynia 2016
WordCamp Gdynia 2016WordCamp Gdynia 2016
WordCamp Gdynia 2016
 
Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014
 
Risorse e metodi per imparare a usare WordPress
Risorse e metodi per imparare a usare WordPressRisorse e metodi per imparare a usare WordPress
Risorse e metodi per imparare a usare WordPress
 

Similar a Desarrollo limpio y optimizado con WordPress

WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.orgWordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.orgRaúl Martínez
 
Emprendiendo con Wordpress
Emprendiendo con WordpressEmprendiendo con Wordpress
Emprendiendo con WordpressYtzvan Mastino
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteCarlos Toxtli
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 
WordPress Multisite, un WordPress para dominarlos a todos
WordPress Multisite, un WordPress para dominarlos a todosWordPress Multisite, un WordPress para dominarlos a todos
WordPress Multisite, un WordPress para dominarlos a todosOscar Abad Folgueira
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosIrving Muñoz
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosIrving Muñoz
 
Infografia farmacia laravel
Infografia farmacia laravelInfografia farmacia laravel
Infografia farmacia laravelFUNDET ECUADOR
 
Proyecto WordPressA - QuantiKa14
Proyecto WordPressA - QuantiKa14Proyecto WordPressA - QuantiKa14
Proyecto WordPressA - QuantiKa14QuantiKa14
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000Javier Suárez Ruiz
 

Similar a Desarrollo limpio y optimizado con WordPress (20)

2014 04 padrino
2014 04 padrino2014 04 padrino
2014 04 padrino
 
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.orgWordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
WordCamp Sevilla 2016 - Creación de un plugin con subida a WordPress.org
 
Emprendiendo con Wordpress
Emprendiendo con WordpressEmprendiendo con Wordpress
Emprendiendo con Wordpress
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamente
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
WordPress Multisite, un WordPress para dominarlos a todos
WordPress Multisite, un WordPress para dominarlos a todosWordPress Multisite, un WordPress para dominarlos a todos
WordPress Multisite, un WordPress para dominarlos a todos
 
Separando el Contenido de la Presentación
Separando el Contenido de la PresentaciónSeparando el Contenido de la Presentación
Separando el Contenido de la Presentación
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
 
Administrar WooCommerce con WP-CLI
Administrar WooCommerce con WP-CLIAdministrar WooCommerce con WP-CLI
Administrar WooCommerce con WP-CLI
 
Qué es php
Qué es phpQué es php
Qué es php
 
Dockers y wp
Dockers y wpDockers y wp
Dockers y wp
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
 
Infografia farmacia laravel
Infografia farmacia laravelInfografia farmacia laravel
Infografia farmacia laravel
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Responsive web design: reinventando el diseño web
Responsive web design: reinventando el diseño webResponsive web design: reinventando el diseño web
Responsive web design: reinventando el diseño web
 
Proyecto WordPressA - QuantiKa14
Proyecto WordPressA - QuantiKa14Proyecto WordPressA - QuantiKa14
Proyecto WordPressA - QuantiKa14
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000
 

Desarrollo limpio y optimizado con WordPress

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