DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

42
DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress

Transcript of DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Page 1: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

DESARROLLO DE APLICACIONESCON TECNOLOGÍAS WEB

Uso de WordPress

Page 2: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

El menú de Wordpress (I)El menú de Wordpress es un completo y simple sistema de administrar nuestro sitio web. En cada versión de Wordpress se producen cambios en toda la aplicación por lo que pueden existir bastantes diferencias en el menú entre distintas versiones.

No sólo podemos administrar el sitio sino que además recibiremos notificaciones de nuevos posts, comentarios y actualizaciones de seguridad. Para entrar:

http://nuestro-site/wp-admin

La versión de WP que nosotros veremos es la 3.9.

Page 3: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

El menú de Wordpress (II)

Page 4: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

El menú de Wordpress (III)

En la zona superior tendremos un menú que nos dará acceso a:

- Zona de bienvenida y novedades de la versión.

- Enlace a la zona pública del sitio

- Avisos de actualizaciones y comentarios

- Añadir una nueva entrada, página, imagen o usuario

- Modificar nuestro perfil de usuario

Page 5: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

El menú de Wordpress (y IV)En el lateral izquierdo tendremos una zona con todos los apartados y configuraciones de la web

- Alertas de seguridad y actualizaciones

- Edición de contenidos: Entradas cronológicas o Posts, Medios (ficheros de imágens, multimedia, PDF, etc), Páginas estáticas y Comentarios.

- Configuraciones: Apariencia o Temas, Plugins, Perfiles de usuarios, Herramientas y Ajustes del sitio

Page 6: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Entradas o Post (I)Los posts son entradas que vamos publicando yen nuestro blog que se ordenan de manera cronológica. Por lo general, los posts tienen un titular, un cuerpo del artículo donde se puede introducir texto, fotografía, código html e incluso multimedia.

Los posts están archivados por categorías y también se acompañan de palabras clave o etiquetas relacionadas con el contenido del mismo.

También suelen recibir comentarios de los lectores, a diferencia de las páginas estáticas.

Page 7: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Entradas o Post (II)Para la redacción de cualquier artículo o página utilizaremos el editor de contenido. El editor de WP permite crear y modificar el contenido almacenado en la BD utilizando una versión enriquecida que nos permite maquetar directamente como si fuera un WYSWYG denonimado Editor Visual.

O bien podemos utilizar una modalidad denominada Editor de Texto que nos obliga a utilizar sintaxis HTML.

En estos editores también podemos incluir shortcodes. Sintaxis especiales que ejecutan funciones en nuestro código para facilitar la edición.

Page 8: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Entradas o Post (III)Los shortcodes en WordPress son pequeños códigos que puedes añadir en el editor de WordPress. Se usan para añadir funciones al contenido de tus entradas y páginas sin tener que escribir un script cada vez que necesites hacer esa tarea.

Son como tags HTML que usan corchetes ([ ]) en vez de los símbolos de “mayor y menor qué” (< >).

[gallery id="123" size="medium"]

http://codex.wordpress.org/Shortcode_API

http://ayudawp.com/que-son-los-shortcodes-y-como-crearlos/

Page 9: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Entradas o Post (y IV)

Page 10: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Librería multimedia (I)Como cualquier CMS se puede asociar contenido multimedia a las entradas y páginas incluidas en nuestro site. Se puede vincular cualquier tipo de contenido. Sin embargo los tipos de documento conocidos como imágenes, video, audio, etc son interpretados automáticamente por el editor y no requieren de ningún tipo de códgo HTML para ser correctamente interpretados y enlazados.

Por supuesto deberemos de tener en cuenta las limitaciones de tamaño a la hora de subirlo al servidor.

Page 11: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Librería multimedia (II)A la hora de incluir contenido adjunto o multimedia a nuestro site lo podemos hacer de dos maneras:

- Desde el Menú principal > Medios > Añadir nuevo

- Desde el Editor de contenido > Añadir objeto

Los ficheros se almacenan en una carpeta (configurable), vinculánda con una entrada en la tabla post (todo se guarda en post).

Básicamente cualquier contenido del site se guarda en la tabla post.

Page 12: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Librería multimedia (III)

Cuando subimos contenido en imagen (*.jpg, *.img, *.png, *,tiff, etc) el CMS lo procesa y genera imágenes intermedias, thumbnails o miniaturas (el nombre que prefieras). Dichos tamaños son configurables desde el menú Ajustes.

De este modo podemos incluir en los post o páginas miniaturas de las imágenes originales, generar galerías e imágenes, etc.

Page 13: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Librería multimedia (IV)

Desde Wordpress 3.5 es posible generar de galerías de imágenes por medio del shorcut [gallery] sin instalar plugins de terceros.

http://codex.wordpress.org/Gallery_Shortcode

Page 14: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Librería multimedia (y V)

Desde las últimas versiones de WP es posible incluir directamente enlaces a contenido multimedia como audio (mp3, ogg, etc) y video (YouTube, Vimeo, etc) generándose el código necesario para reproducirlo.

Page 15: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Roles de usuarios (I)

Como en la mayoría de los CMS es posible crear múltiples usuarios, con diferentes permisos o roles, lo que nos permite implementar una solución colaborativa y jerárquica.

http://codex.wordpress.org/es:Roles_y_Capacidades

Page 16: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Roles de usuarios (II)

Invitado: Es un usuario sin login, no puede acceder al área privada y sólo puede ver los contenidos del área pública.

Suscriptor: Es un usuario que simplemente puede editar su perfil. Son usuarios ideales para secciones y páginas que sólo permitan el acceso a usuarios registrados. Para crear áreas privadas podemos utilizar el plugin Members.

http://wordpress.org/plugins/members/

Page 17: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Roles de usuarios (y III)

Colaborador: Es un usuario que puede escribir y modificar sus propios post. No puede publicarlos por lo que necesitará la supervisión de un editor o administrador los apruebe.

Autor: Puede escribir y publicar posts, también podrá editarlos pero solamente los suyos.

Editor: Puede escribir y publicar post y páginas y también editar, modificar y publicar los post de otros.

Administrador: Puede crear usuarios, realizar el mantenimiento del sitio, incluyendo todas las capacidades del resto de roles.

Page 18: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de archivos de WP (I)

Wordpress es uno de los CMS con la estructura de archivos más sencilla.

Por supuesto cuenta con un archivo de configuración donde personalizar y adaptar nuestra instalación a nuestras preferencias: wp-config.php

http://codex.wordpress.org/Editing_wp-config.php

Page 19: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de archivos de WP (II)

Page 20: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de archivos de WP (III)

WP-ADMIN y WP-INCLUDES: Ambas carpetas se contienen el código que hace funcionar WP y contienen el core y donde se aplican las actualizaciones.

JAMÁS TOCAR ESTAS CARPETAS

Page 21: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de archivos de WP (y IV)

WP-CONTENT: Guarda los datos y configuraciones propias del blog y aquí no se aplican las actualizaciones de WP.

- uploads: todas las imágenes, vídeos y archivos que se suban a la librería.

- plugins: módulos disponibles para ampliar las funcionalidades del site.

- themes: todas las plantillas que tenemos disponibles para vestir al blog.

- languages: ficheros .mo de los idiomas en los que queremos tener WP (tanto la parte pública como la de administración).

Page 22: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de la BD de WP (I)

Como en cualquier CMS los datos y los contenidos se almacenan en la Base de Datos en sus distintas tablas. Vamos a hacer un breve repaso de las tablas que la componen.

ATENCIÓN: Está desaconsejado modificar y cambiar registros de las tablas en WP dado que podrías modificar valores que pueden alterar el funcionamiento

Page 23: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de la BD de WP (II)- wp_commentmeta: Deprecated. Se conserva por compatibilidad. Contenian los metadatos de los comentarios.

- wp_comments: En esta tabla se guardan todos los comentarios, junto con sus metadatos.

- wp_links: Deprecated. Se conserva por compatibilidad. Contenían los enlaces de la barra lateral. Alhora se almacenan esos datos en la pestaña de menús.

- wp_options: Aquí se guardan todos los datos de ámbito general, así como configuraciones de plugins y themes. Para un developer esta tabla es esencial, ya que debe guardar aquí todos los datos de sus plugins y themes.

Page 24: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Estructura de la BD de WP (y III)- wp_post: Aquí se guardan los datos básicos de los posts, las páginas y los archivos -attachments-, además de sus revisiones.

- wp_postmeta: Aquí se guardan los metadatos de los posts / páginas / attachemnts de la tabla anterior. Mayoritariamente, los datos de esta tabla contienes campos personalizados (los famosos custom fields).

- wp_terms, wp_term_relationships y wp_term_taxonomy. Estas tablas contienen los datos y metadatos de las categorías y etiquetas.

- wp_users y wp_usermeta. Esta tabla contiene la información mínima de los usuarios (y la contraseña encriptada con MD5). Algunos campos relevantes son: user_login, user_pass, user_email, display_name, …

Page 25: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Cambiar la contraseña en WP (I)…directamente en la tabla wp_users. En situciones de emergencia. ;-)

El campo password de la tabla wp_users contiene la contraseña encriptada de cada usuario utilizando uno de los algoritmos más simples: MD5.

Si en algún momento olvidas la contraseña de acceso y no funciona el método de recuperación normal por medio del envío del Email puedes editar dicho valor y sustituirlo por uno conocido.

Page 26: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Cambiar la contraseña en WP (y II)1. Localiza el registro de la tabla wp_users que quieres cambiar su password.

2. Obtén una cadena de texto de la cual conozcas su MD5 o bien localiza una página que genere hash MD5

http://www.md5hashgenerator.com/

12345 → 827ccb0eea8a706c4c34a16891f84e7b

3. Susituye en el registro la cadena existente por la nueva y desde este momento ya puedes entrar con la nueva password.

Page 27: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Temas (I)

Uno de los puntos fuertes en Wordpress es la personalización y su facilidad a la hora de instalar temas. Los temas o plantillas son la capa de presentación del contenido pudiéndose cambiar sin que la información se vea afectada.

http://wordpress.org/themes/

http://themeforest.net/category/wordpress

Page 28: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Temas (II)Ficheros básicos de un tema o plantilla de WP

Page 29: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Temas (III)- index.php: Archivo que realiza las llamadas al contenido a mostrar en la página y donde se ejecuta el Loop. The Loop no es un arbivo en sí, sino el contenido de WP que se denomina de The Loop (el bucle) dado que se obtiene realizando una llamada a la BD y muestra los contenidos de una consulta.

Por supuesto este fichero index.php realizará las correspondientes inclusiones para incrustar el <head>, menús, cabeceras, scripts de JS, pies de página, etc.

- Estilos.css: Ficheros en donde almacenaremos el estilo visual.

- Imágenes: El tema podrá por supuesto contener sus propios archivos de imagen relacionados con el aspecto visual y no del contenido.

Page 30: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Temas (y IV)- header.php: Archivo global que muestra encabezado y navegación. También contiene código html cabeza.

- sidebar.php: Las barras laterales se controlan desde este fichero. El contenido se configura, mediante widgets, desde el panel de administración de WordPress. Puedes tener cuantos sidebar definas.

- footer.php: Contiene instrucciones para el pie de página global y cierra etiquetas html.

- functions.php: Fichero .php en donde se definen los shorcuts, funciones y clases relacionados con el tema, así como la definición de sidebars.

Esta lista es simplemente una versión mínima y orientativa, puesto que generalmente son mucho más complejos.

Page 31: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Menú (I)Como en todas páginas web en los Blogs existen menús que nos permiten componer la jerarquía de contenidos y navegar por nuestra página web. En dicho menú nosotros elegiremos los contenidos que queremos incorporar al menú y cómo queremos que se muestren.

La estética y comportamiento del menú dependerá sobre todo del tema que hayamos elegido,variando de un tema a otro.

http://codex.wordpress.org/WordPress_Menu_User_Guide

Page 32: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Menú (II)Puedes elegir dónde situar el menú según la complejidad de tu tema. Algunos permiten tener varios menús distintos. Uno por ejemplo en la cabecera y otro en el pie, no teniendo que coincidir los contenidos de uno y otro. Puedes incluso elegir no tener un menú.

Page 33: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Menú (y III)¿Qué puedo tener o enlazar en el menú? Prácticamente cualquier contenido.

- Enlazar al índice del Blog o a Entradas concretas

- Enlazar a una Página en concreto (desarrollada previamente en WP)

- Enlazar a un Enlace externo, incluyendo la URL correspondiente

- A los contenidos de una Categoría o Etiqueta

No sólo podremos añadir entradas, sino jerarquizarlas y elegir la ubicación del menú

Page 34: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Formas de modificar un temaExisten varias formas de modificar un tema en Wordpress.

- Podemos editar directamente los ficheros del tema en la carpeta /wp-content/themes (mala idea)

- Podemos editar los ficheros del tema desde Wordpress desde la opción Apariencia > Editor (mala idea)

Ambos métodos modifican los ficheros del autor y ante cualquier posible actualización nuestra versión será sobreescrita y perderemos los cambios.

La mejor opción es desarrollar Temas hijos (Child Themes).

Page 35: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

¿Como crear un tema hijo? (I)http://codex.wordpress.org/es:Temas_hijos

1º Para ello crearemos una carpeta en el directorio wp-content/themes con el nombre del tema que vamos a crear. Generalmente igual que la carpeta del tema padre, pero le agregamos al final el sufijo -child o -hijo

2º Crearemos dentro de esta misma carpeta un archivo style.css que contendrá el código necesario para que WP lo interprete como un tema hijo de otro tema ya instalado. Puedes ver un ejemplo en la siguiente diapositiva

Page 36: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

¿Como crear un tema hijo? (II)/*

Theme Name: Twenty Fourteen Child

Theme URI: http://example.com/twenty-fourteen-child/

Description: Twenty Fourteen Child Theme

Author: John Doe

Author URI: http://example.com

Template: twentyfourteen

Version: 1.0.0

Text Domain: twenty-fourteen-child

*/

@import url("../twentyfourteen/style.css");

/* =Aquí empieza la personalización de tu tema

-------------------------------------------------------------- */

Page 37: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

¿Como crear un tema hijo? (y III)3º Una vez creado el archivo stye.css si vamos al Menú de Administración de WordPress > Temas comprobaremos cómo aparece un nuevo tema: el tema hijo que hemos creado. Seleccionalo como tu nuevo tema activo.

4º A partir de este momento cualquier cambio que añadas en style.css se aplicara a todo el estilo de la página.

5º Si quieres cambiar algo más que la hoja de estilos, tu tema hijo puede sobrescribir cualquier archivo del tema padre. Por ejemplo, si quieres cambiar el código PHP para la cabecera (header), puedes inlcuir un header.php en la carpeta de tu tema hijo. De este modo, este archivo se usará en lugar del header.php del tema padre.

Page 38: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Plugins en WP (I)

Los Plugin son herramientas que extienden la funcionalidad de WordPress. Además hay una gran comunidad de desarrolladores que han creado multitud de plugins que puedes agregar en tu tema de forma gratuita: plugins de medios sociales, mejora de SEO, seguridad, imágenes y galerías, gestión de usuarios, etc.

https://wordpress.org/plugins/

Page 39: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Plugins en WP (y II)

Algunos de los problemas que originan los plugins que os están bien desarrollado son deficiente velocidad de ejecución, demasiadas peticiones de HTTP o duplicidad de petición de código JS, vulnerabilidades de seguridad, etc.

Tabla periódica de los Plugins de WordPress

http://plugintable.com/

Page 40: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Algunos plugins...Akismet: Comprueba los comentarios en busca de SPAM

https://wordpress.org/plugins/akismet/

Contact Form 7: Permite configurar un Formulario de contacto a medida

http://wordpress.org/plugins/contact-form-7/

BackWPup: Permite configurar y gestionar copias de seguidad de la BD y ficheros

https://wordpress.org/plugins/backwpup/

Simple LightBox: Permite mejorar una galería de imágenes

https://wordpress.org/plugins/simple-lightbox/

Super Socializer: Permite añadir botones para compartir en redes sociales

https://wordpress.org/plugins/super-socializer/

Page 41: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Algunos plugins...WooCommerce: La plataforma más extendida para crear tiendas en WP

http://wordpress.org/plugins/woocommerce/

WP CleanFix: Incluye opciones para optimización y limpieza de la BD de WP

https://wordpress.org/plugins/wp-cleanfix/

All In One SEO Pack: Mejora y configura las opciones de SEO de tu WP

https://wordpress.org/plugins/all-in-one-seo-pack/

Brute Protect: Protege de ataques programados BOTS

https://wordpress.org/plugins/bruteprotect/

Wordfence: Optimiza y protege el código del core de WP

https://wordpress.org/plugins/wordfence/

Page 42: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB Uso de WordPress.

Enlaces y páginas de interésDocumentación Oficial de Wordpress

http://codex.wordpress.org/es:Main_Page

Página de referencia con tutoriales y HOW-TO's

http://ayudawp.com/

Directorio de Plugins para WP

https://wordpress.org/plugins/

Themes

http://wordpress.org/themes/

http://themeforest.net/category/wordpress