SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Buenas prácticas en el desarrollo con 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.