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