introducción al desarrollo en wordpressindex-of.co.uk/various/seminario wordpress panda edition...

43
Introducción al desarrollo en WordPress Gotardo González martes 27 de septiembre de 11

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Introducción al desarrollo en WordPressGotardo González

martes 27 de septiembre de 11

Page 2: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

WordPressIntroducción al desarrollo

PARTE ILa estructura de WordPress Instalación y configuración de WordPress.Seguridad en WordpressPlugins esencialesApariencia: themes y custom menus.

PARTE IIEditando un theme de WordPressAlgunos consejos de optimización

TaxonomíasCustom post types

martes 27 de septiembre de 11

Page 3: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Qué es Wordpress WordPress is web software you can use to

create a beautiful website or blog. We like to say that WordPress is both free and priceless

at the same time.

WordPress es una aplicación web de creación de sitios webs o blogs atractivos. Nos gusta la idea de

que Wordpress sea a la vez libre y gratis.

martes 27 de septiembre de 11

Page 4: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

¿Por qué ?

Facilidad de uso Flexibilidad en el desarrollo

Facilidad de uso para el cliente final

martes 27 de septiembre de 11

Page 5: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

martes 27 de septiembre de 11

Page 6: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

INSTALACIÓN Y CONFIGURACIÓN

de WordPress

SO easyA caveman

can do itmartes 27 de septiembre de 11

Page 7: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Instalando WordPress • Descarga desde

http://es.wordpress.org/WordPress

• La instalación de Bitnamihttp://bitnami.org/es/stack/wordpress

martes 27 de septiembre de 11

Page 8: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Configuración básica • General: Título, membresía y hora del servidor.

• Writing: Activar XML-RPC.

• Conversación: Settings y listas.

• Multimedia: Image Size.

• Enlaces permanentes: friendly url.

martes 27 de septiembre de 11

Page 9: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

LA ESTRUCTURA DE WORDPRESS

martes 27 de septiembre de 11

Page 10: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

La base de datos

martes 27 de septiembre de 11

Page 11: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

El árbol de directorios

martes 27 de septiembre de 11

Page 12: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Seguridad en

WordPress

martes 27 de septiembre de 11

Page 13: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Seguridad (I)• No utilizar wp_ como prefijo de las tablas.

• Proteger wp-config.php contra escriturachmod 644 wp-config.php

• Nombre del super usuario distinto de ‘admin’.

• Eliminar todos los ficheros de instalación, configuración y exportación./wp-admin/import.php/wp-admin/install.php/wp-admin/installer-helper.php/wp-admin/upgrade.php

martes 27 de septiembre de 11

Page 14: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Seguridad (II)• Desactiva y desinstala todos los plugins que no

estés utilizando

• No utilizar plugins para realizar copias de respaldo de la BD (ojo con wp-db-backup).

• Utiliza una cuenta de autor: no trabajes con todos los permisos (quizás quieras probar el plugin Role Manager)

• Cuida los permisos del usuario con el que accedes a la BD

• Priva de permisos al user_ID = 1.

martes 27 de septiembre de 11

Page 15: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Seguridad (III)• Protege los directorios con .htaccess

Order Allow,DenyDeny from all<Files ~ ".(css|jpe?g|png|gif|js)$">Allow from all</Files>

• Si administras tu blog desde LAN o VPN, no permitas el acceso desde otra máquina.<Location /wordpress/wp-admin/>Order deny,allowAllow from 192.168.1.27Deny from All

</Location>

martes 27 de septiembre de 11

Page 16: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Seguridad (IV) - Plugins• Escanea tu sitio con WP Exploit Scanner.

• Escanea tu sitio con WP Security Scan.

• Utiliza Replace WP Version.

• Si utilizas una versión anterior a WordPress 3.0 ejecuta Admin Renamer Extended.

NOTA: Echa un vistazo a http://blogsecurity.net/projects/secure-wp-whitepaper.pdf

martes 27 de septiembre de 11

Page 17: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Seguridad (IV) - Plugins• Escanea tu sitio con WP Exploit Scanner.

• Escanea tu sitio con WP Security Scan.

• Utiliza Replace WP Version.

• Si utilizas una versión anterior a WordPress 3.0 ejecuta Admin Renamer Extended.

NOTA: Echa un vistazo a http://blogsecurity.net/projects/secure-wp-whitepaper.pdf

martes 27 de septiembre de 11

Page 18: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

PLUGINS ESENCIALES(o no)

martes 27 de septiembre de 11

Page 19: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Plugins - SEO y WA• All in One SEO Pack

• Google XML Sitemaps

• Google Analytics for Wordpress

• KB Robots.txt

• SEO Friendly Images

martes 27 de septiembre de 11

Page 20: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Plugins - Social Media• AddThis

• Twitter Tools

Plugins - Conversación• Comment Whitelist

martes 27 de septiembre de 11

Page 21: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Plugins - Mejoras• Thickbox

• Clean-Contact

• Nextgen Gallery

• WP Multiple Languages (de pago)

• WPtouch

• MCEComments

martes 27 de septiembre de 11

Page 22: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Plugins - Desarrollo• Exec-PHP

• Optimize DB

• WP-Syntax

martes 27 de septiembre de 11

Page 23: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

APARIENCIA: Themes y Menús personalizados

martes 27 de septiembre de 11

Page 24: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Apariencia - Temas• Repositorios de themes

• Añadir theme en WordPress.

• press75.com

• themeforest.com

• Estructura de un tema

martes 27 de septiembre de 11

Page 25: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Apariencia• Themes

• Widgets

• Menús

• La web móvil: WP-Touch, MobilePress

martes 27 de septiembre de 11

Page 26: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Apariencia - un menú• Crear un menú personalizado.

• Cómo añadir un menú personalizado a un theme.

Registrar un nuevo menú en functions.php<?php register_nav_menu( 'footer', __( 'Footer Menu', 'twentyeleven' ) ); ?>

Llamar al menú <?php wp_nav_menu( array( 'theme_location' => 'footer' ) ); ?>

martes 27 de septiembre de 11

Page 27: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

ALGUNOS CONSEJOS DE OPTIMIZACIÓN

martes 27 de septiembre de 11

Page 28: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Optimizando Wordpress• Crea un .htaccess para controlar la cache

# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress

# Control de Cache<FilesMatch "\.(ico|pdf|flv)$">Header set Cache-Control "max-age=29030400, public"</FilesMatch><FilesMatch "\.(jpg|jpeg|png|gif|swf)$">Header set Cache-Control "max-age=604800, public"</FilesMatch><FilesMatch "\.(xml|txt|css|js)$">Header set Cache-Control "max-age=604800, proxy-revalidate"</FilesMatch><FilesMatch "\.(html|htm|php)$">Header set Cache-Control "max-age=180, private, proxy-revalidate"</Files>

martes 27 de septiembre de 11

Page 29: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Optimizando Wordpress• GZIP Deflate con .htaccess

<IfModule mod_setenvif.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript </IfModule>

• Guardar contenidos en cache con un plugin como WP Super Cache

• Utiliza un plugin para guardar la cache de las imagenes de Gravatar.

martes 27 de septiembre de 11

Page 30: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Optimizando Wordpress• WP-Optimize

martes 27 de septiembre de 11

Page 31: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Optimizando Wordpress• ¿Evitar llamadas en nuestros themes?

<?php bloginfo('url') ?> <!---- Escribe la dirección en lugar de utilizar la función blog info.

• Evitar la carga de funciones obsoletas en wp-settings.php

• ¿Borrar revisiones?DELETE FROM wp_posts WHERE post_type = "revision";

• ¿Desactivar revisiones?define('WP_POST_REVISIONS', false);

• Controlar uso de memoria:<?php echo memory_get_usage() . " bytes"; ?>

martes 27 de septiembre de 11

Page 32: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Optimizando Wordpress• Evitar la carga de funciones obsoletas en wp-

settings.php (no incluir deprecated.php)

• Borrar revisionesDELETE FROM wp_posts WHERE post_type = "revision";

• ¿Desactivar revisiones y autosave?define('WP_POST_REVISIONS', false);

• Controlar uso de memoria:<?php echo memory_get_usage() . " bytes"; ?>

martes 27 de septiembre de 11

Page 33: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Optimizando Wordpress• Optimiza y comprime tu código HTML, CSS y

JavaScript.

• Si tienes acceso a su configuración, optimza Apache, PHP, y MySQL.

• http://developer.yahoo.com/performance/rules.html

martes 27 de septiembre de 11

Page 34: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

TAXONOMÍAS

martes 27 de septiembre de 11

Page 35: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

¿Taxonomías?

martes 27 de septiembre de 11

Page 36: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Taxonomías por defecto• Categorías (category)

• Etiquetas (post_tag)

• Categorías de enlaces (link_category)

martes 27 de septiembre de 11

Page 37: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Registrar una taxonomíafunction lenguajes_init() {

! register_taxonomy(! ! 'lenguajes',! ! 'post',! ! array(! ! ! 'label' => __( 'Lenguajes de programación' ),! ! ! 'sort' => true,! ! ! 'args' => array( 'orderby' => 'term_order' ),! ! ! 'rewrite' => array( 'slug' => 'lenguajes' )! ! )! );}

add_action( 'init', 'lenguajes_init' );

martes 27 de septiembre de 11

Page 38: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Consultas por taxonomía

//Consultar los posts sobre PHP$query = new WP_Query( array( 'lenguaje' => 'php' ) );

//Algo un poco más complejo$args = array(! 'tax_query' => array(! ! array(! ! ! 'taxonomy' => 'languaje',! ! ! 'field' => 'slug',! ! ! 'terms' => 'php'! ! )! ));$query = new WP_Query( $args );

martes 27 de septiembre de 11

Page 39: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

CUSTOM POST TYPES

martes 27 de septiembre de 11

Page 40: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Custom post typespor defecto

• Un ‘post’ es algo que se almacena en la tabla wp_posts

• Tipos por defecto:

• Post

• Page

• Attachment

• Revisions

• Nav menusmartes 27 de septiembre de 11

Page 41: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Custom post typespor defecto

add_action( 'init', 'create_post_type' );

function create_post_type() {! register_post_type( 'acme_product',! ! array(! ! ! 'labels' => array(! ! ! ! 'name' => __( 'Products' ),! ! ! ! 'singular_name' => __( 'Product' )! ! ! ),! ! ! 'public' => true,! ! ! 'has_archive' => true,! ! ! 'rewrite' => array('slug' => 'products')! ! )! );}

martes 27 de septiembre de 11

Page 42: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

Algunas referencias• WPDB

http://codex.wordpress.org/Class_Reference/wpdb

• Optimización de WordPress: infografíahttp://conecti.ca/2011/07/09/infografia-optimizar-wordpress/

martes 27 de septiembre de 11

Page 43: Introducción al desarrollo en WordPressindex-of.co.uk/Various/seminario wordpress panda edition download.… · Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom

?><!---

Este taller se realizó el 24 de septiembre de 2011 en la UEx dentro de los seminarios de The Evnt.

martes 27 de septiembre de 11