Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso de Wordpress
Instalacin de Wordpress
Instalacin en Servidor
Obtener Wordpress Descargamos la ltima versin de Wordpress el el directorio donde vamos a trabajar:
Instalacin de Wordpress
Creacin de la base de datos Creamos una base de datos y un usuario para nuestro Wordpress:
wordpress@lander:/var/www/blog$ mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 443 Server version: 5.0.51a-24+lenny2-log (Debian) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql create database wordpress_db; Query OK, 1 row affected (0.02 sec)
Instalacin de Wordpress
mysql grant all privileges on wordpress_db.* to wordpressdbuser@'localhost' identified by 'wordpressdbpass'; Query OK, 0 rows affected (0.00 sec) mysql flush privileges; Query OK, 0 rows affected (0.00 sec)
Instalacin de Wordpress
Conectar Wordpress con la base de datos (Fichero de configuracin) El fichero bsico de configuracin de Wordpress en "wpconfig.php", que es precisamente el que tendremos que modificar para aadir los datos de conexin a la base de datos. El fichero de configuracin no existe por lo que deberemos de copiar el fichero plantilla que provee Wordpress llamado "wp-config-sample.php" y editarlo.
wordpress@lander:/var/www/blog/wordpress$ cp wp-configsample.php wp-config.php
Instalacin de Wordpress
Entre las opciones del fichero encontramos las configuraciones respectivas a la conexin a base de datos, que modificaremos con nuestros valores.
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress_db'); /** MySQL database username */ define('DB_USER', 'wordpressdbuser'); /** MySQL database password */ define('DB_PASSWORD', 'wordpressdbpass'); /** MySQL hostname */ define('DB_HOST', 'localhost');
Instalacin de Wordpress
/** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8'); /** * WordPress Database Table prefix. * * You can have multiple installations in one database if you give each a unique * prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_';
Instalacin de Wordpress
http://wordpress.irontec.com/
Instalacin de Wordpress
Instalacin de Wordpress
Seguimos el formulario y Wordpress crear las tablas en la base de datos. Por ltimo nos ofrecer el usuario y contrasea del administrador que apuntaremos para posteriormente cambiarla.
Instalacin de Wordpress
Instalacin de Wordpress
* Cambiar la contrasea.
Instalacin de Wordpress
Optimizacin de URLs
Por defecto Wordpress escribe y recibe las URLs mediante parmetros (consulta-valor). Hoy en da la tendencia es utilizar URLs SEO, que optimiza el posicionamiento en los motores de bsqueda (Google). Url permite generar URLs SEO de manera muy sencilla. Entramos al panel de administracin Settings Permalinks:
Instalacin de Wordpress
Instalacin de Wordpress
Elegimos el formato que ms nos convezca o generamos uno nosotros mismos mediante Custom Structure. Wordpress ofrece diferentes variables para crear nuestra propia estructura: (http://codex.wordpress.org/Using_Permalinks)
%year% %monthnum% %day% %hour% %minute% %second% %postname% %post_id% %category% %tag%
Instalacin de Wordpress
Instalacin de Wordpress
Instalacin de Wordpress
Localizacin de Wordpress
Obteniendo ficheros
Se pueden obtener los ficheros de traduccin de Wordpress en http://codex.wordpress.org/WordPress_in_Your_Language en muchos idiomas. Como ejemplo bajaremos el paquete de idioma de castellano:
Instalacin de Wordpress
Y lo descomprimimos en el directorio de "languages" de wordpress (si el directorio languages no existe, crearlo en "wp-includes"):
Instalacin de Wordpress
Wordpress no tiene un switcher (user friendly) de idiomas por lo que para ver Wordpress en otro idioma hay que definirlo en el fichero de configuracin principal "wpconfig.php".
/** * WordPress Localized Language, defaults to English. * Change this to localize WordPress. A corresponding MO file for the chosen * language must be installed to wp-content/languages. For example, install * de.mo to wp-content/languages and set WPLANG to 'de' to enable German * language support. */ define ('WPLANG', 'es_ES');
Instalacin de Wordpress
Localizacin de Wordpress
Ficheros PO y MO
Wordpress utiliza el sitema "gettext" para su traduccin. Gettext utiliza tres tipos de ficheros para crear y almacenar las cadenas de traduccin: .POT (Portable Object Template)
Es el fichero que recoge todas las cadenas que se encuentran en el cdigo llamadas mediante las funciones __() o _e().
Es el fichero que contiene las traducciones en el idioma que se desea utilizar. Referencia las cadenas en el idioma original al idioma a traducir.
Localizacin de Wordpress
Localizacin de Wordpress
#: wp-admin/index.php:24 #: wp-admin/menu.php:28 msgid "Dashboard" msgstr "Escritorio"
En forma de comentario (#comentario) se muestra en qu ficheros aparece la cadena. sto nos facilitar meter la traduccin en un mbito o un contexto para conseguir una mejor coherencia en las frases. "msgid" es la cadena real que se encuentra en los ficheros; y "msgstr" es la traduccin.
Localizacin de Wordpress
Herramientas de localizacin
POEDIT (http://www.poedit.net/download.php):
Es un programa de escritorio que nos permite editar de manera visual los ficheros ".po" y que compila automticamente los ficheros al guardarlos.
Abrimos el fichero ".po" con esta herramienta que nos facilita la traduccin de las cadenas del proyecto.
Localizacin de Wordpress
Localizacin de Wordpress
Hemos traducido la cadena "Dashboard" como "Super Escritorio" y una vez guardado el resultado es:
Partes de un tema
Los temas de Wordpress requieren de al menos dos ficheros, "index.php" y "style.css". style.css
En este fichero se declara el tema, es el fichero que Wordpress "parsear" para obtener los datos del tema. La declaracin del tema:
/* THEME NAME: Example Theme 1 THEME URI: http://wordpress.irontec.com DESCRIPTION: Tema de ejemplo 1 VERSION: 0.1 AUTHOR:Lander Ontoria AUTHOR URI: TAGS: developer
index.php
Este fichero alberga la estructura bsica de la pgina. Wordpress tiene una estructura modular que permite mediante llamadas a funciones obtener y dibujar diferentes partes del contenido ( http://codex.wordpress.org/Template_Tags, http://codex.wordpress.org/Stepping_Into_Templates ).
?php get_header() ? Mediante esta funcin obtendremos la cabecera (ttulo del blog, ...). div id="container" div id="content"
* El tema de dibuja los comentarios. * El tema de los popup de los comentarios. * Es el fichero que se usar para mostrar un solo post. * El tema de las pginas. * El tema de las categoras.
* comments-popup.php
* single.php
* page.php
* category.php
* author.php
* El tema del autor. * Cuando se llama a una fecha, el formato se coge de este fichero. * El fichero de bsqueda. * 404.
* date.php
* search.php
* 404.php
En muchos de los temas que nos podamos descargar de Internet encontraremos un fichero llamado "functions.php". Este fichero suele contener mtodos y funciones que habitualmente se usar para dibujar contenido o escribir funciones propias para el manejo del tema.
Instalacin de un tema Disponemos de gran cantidad de temas en "http://wordpress.org/extend/themes/" que nos servirn de base para que con ligeras modificaciones podamos construirnos nuestros propios temas. Una vez hemos elegido qu tema queremos para nuestro Wordpress o de que tema queremos partir el primer paso es descargarlo y descomprimirlo en el directorio "/wp-content/themes/":
El siguiente paso ser habilitarlo desde la zona de administracin de Wordpress en el men de administracin de temas. El tema se activar y el resultado:
Desarrollo de temas propios Para desarrollar un tema propio es necesario tener en cuenta que hay que partir de dos ficheros, "index.php" y "style.css". Una vez tenemos estos dos ficheros la dinmica es ir reescribiendo los ficheros que queremos para poner nuestra propia estructura y estilo.
Una manera para facilitar la identificacin de las diferentes partes de la estructura de Wordpress es identificar las zonas mediante herramientas de desarrollo (Firebug) e ir construyendo una hoja de estilos que visualmente facilite la identificacin.
#page{ float:none; width:1024px; margin:0 auto; /*example*/ border:1px solid red; }
Pero lo ms comn para empezar a desarrollar un tema es extenderse de otro o sobre escribirlo ya que de esta manera disminuiremos la opcin de error y dispondremos de multitud de mtodos ya escritos para dibujar y gestionar el contenido. Internet nos ayuda a encontrar diferentes temas, pero entre las opciones que encontraremos tenemos "temas en blanco". Los temas en blanco estn desarrollados para que con las mnimas modificaciones de cdigo HTML, PHP o Javascript, apliquemos nuestros propios estilos a nuestro Wordpress.
Referencias:
http://www.plaintxt.org/themes/sandbox/ http://www.jdavidmacor.com/2007/09/17/wordpress-themebuilding-resources/
Sandbox
Sandbox es un tema que viene completamente en blanco con un estilo (CSS) pre formado con varias opciones de configuracin. Este tema en concreto es muy fcil de modificar y el cdigo est bastante documentado. Sandbox ofrece varias configuraciones de la estructura de Wordpress modificando una lnea en la hoja de estilos:
* Temas Wordpress:
* Temas en blanco:
* http://www.jdavidmacor.com/2007/09/17/wordpresstheme-building-resources/ * http://www.plaintxt.org/themes/sandbox/
* Debuging
* Firebug
Plugins
Los plugins en Wordpress se albergan en el directorio "wp-content/plugins/", donde Wordpress mirar automticamente para cargarlos y poder activarlos mediante la administracin.
Partes de un plugin A diferencia de los temas de Wordpress, los plugins solo requieren un fichero para funcionar. Examinemos el plugin de "Hello Dolly":
hello.php Este fichero es el nico del que se compone el plugin. "Hello Dolly" es un plugin sencillo que lo nico que hace es sacar una frase aleatoria el la parte superior de la zona de administracin de Wordpress.
En este fichero se declara el plugin, es el fichero que Wordpress "parsear" para obtener los datos del plugin. La declaracin de un plugin:
?php Plugin Name: Hello Dolly Plugin URI: http://wordpress.org/# Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from citeHello, Dolly/cite in the upper right of your admin screen on every page. Author: Matt Mullenweg Version: 1.5.1 Author URI: http://ma.tt/ */
El cdigo:
function hello_dolly_get_lyric() { /** These are the lyrics to Hello Dolly */ $lyrics = "Hello, Dolly Well, hello, Dolly It's so nice to have you back where you belong You're lookin' swell, Dolly I can tell, Dolly Dolly'll never go away again"; // Here we split it into lines $lyrics = explode("\n", $lyrics); // And then randomly choose a line return wptexturize( $lyrics[ mt_rand(0, count($lyrics) - 1) ] ); }
Los plugins de Wordpress se valen de diferentes hooks, acciones y filtros para lanzar funciones, sustituir o dibujar contenido.
Instalacin de plugins
Disponemos de una gran cantidad de plugins de Wordpress que podremos descargar desde http://wordpress.org/extend/plugins/ y en unos pocos pasos activarlos para nuestro Wordpress. Obtener el plugin:
wordpress@lander-laptop:/var/www/blog/files/plugins$ wget http://downloads.wordpress.org/plugin/random-youtube-video.zip
Este plugin en concreto sirve para sacar vdeos aleatorios de Youtube que previamente hemos definido en una lista.
El resultado:
Desarrollo de un plugin propio Como ya hemos comentado anteriormente los plugins de Wordpress solo necesitan de un fichero para funcionar y donde son declarados, pero por qu no estructurar un plugin de mejor manera.
Vamos a crear un plugin llamado Simple Plugin para desarrollar esta documentacin sobre el mismo y hacer un plugin que interactue de diferentes maneras con Wordpress.
Estructura del plugin En un primer paso crearemos un directorio en "wpcontent/plugins/" para nuestro plugin.
Y un fichero principal para declarar nuestro plugin y cargar las diferentes funciones que vallamos a utilizar.
simple_plugin.php:
/* Plugin Name: Simple Plugin Plugin URI: http://wordpress.irontec.com Description: Simple Plugin Description. Version: 1.0 Author: Lander Ontoria Author URI: http://www.irontec.com */
Solamente con estos pasos Wordpress ya es capaz de leer la informacin del plugin y ofrecerlo en su lista para poder instalarlo.
simple_plugin.php:
Este plugin ofrecer dos pginas de administracin del mismo. El fichero de control es "/admin/admin.php":
/* * Este fichero es el que mediante acciones y funciones de wordpres * cargar la zona de administracin de nuestro plugin. */
div class="wrap" h2?php echo __('Simple Plugin',SP_TEXT_DOMAIN) ?/h2 div id="tabscontent" ul lia href="#tabs-1"?php echo __('hola mundo',SP_TEXT_DOMAIN) ?/a/li lia href="#tabs-2"?php echo __('Simple Plugin test 2',SP_TEXT_DOMAIN) ?/a/li /ul
Este fichero est preparado para albergar diferentes tabs (jquery-ui-tabs) para dar una mejor apariencia a nuestro plugin, pero lo ms interesante que podemos encontrar es el contenido que est en el primer "tab". Encontramos un formulario estndar de Wordpress cuya funcin es mostrar un formulario para administrar valores y guardarlos automticamente. Estos valores los podremos recuperar mediante la funcin de Wordpress "get_option()".
En esta captura vemos cmo se han generado dos botones de administracin para nuestro plugin.
En esta captura vemos las pestaas que hemos definido y el formulario de administracin resultante.
La segunda pestaa.
La forma ms habitual de sacar contenido al Blog es hacer filtros. Para nuestro plugin hemos creado una pgina de Wordpress y hemos escrito en el cuerpo de la pgina el tag de control que hemos definido para nuestro plugin.
El tag de nuestro plugin es "[simple_plugin|hola_mundo]". Nuestro plugin recibir como variable de configuracin o carga lo que encuentre despus del smbolo | . El fichero de control de la zona pblica es "simple_plugin_public.php":
/* * Este fichero es el que mediante acciones y funciones de wordpres * cargar nuestro plugin en la zona pblica. */
/* * INIT * * en la accin init de Wordpress * se lanzar la funcin que hayamos definido. */ /* * Inclumos la clase simple_plugin, el fichero contiene una clase de * control y una clase que desarrolla el contenido del plugin. */ require_once(dirname(__FILE__).'/class.simple_plugin.php'); function sp_init(){ /* * Cargamos los ficheros de idiomas de nuestros plugins */
La clase de control:
/* * * Clase que controla y carga el plugin * */ class simple_plugin_ctrl{ static public function get_plugin_tag(){ return "simple_plugin"; } static public function content_filter($content){ $preg = @preg_match_all('/\['.self::get_plugin_tag().'\|(?conf[^\]] +)\]/', $content, $ret);
/* * * la clase del plugin */ class simple_plugin{ protected $conf; protected $content; protected $lock = false;
La clase del plugin nos permitir ir desarrollando sobre ella diferentes opciones para el plugin.
Mediante este plugin hemos conseguido sacar en la zona pblica un "hola mundo" en una pgina y en un widget.
Localizacin de plugins Para la localizacin de los plugins Wordpress pone a nuestra disposicin las "wordpress-i18n tools" (http://codex.wordpress.org/I18n_for_WordPress_Deve lopers) que podemos obtener mediante svn.
wordpress@lander-laptop:/var/www/blog/wordpress$ mkdir wordpress-i18n ; cd wordpress-i18n wordpress@lander-laptop:/var/www/blog/wordpress/wordpressi18n$ svn export http://svn.automattic.com/wordpressi18n/tools/trunk/ tools
Para generar las locales de cada idioma que vallamos a utilizar hay que copiar el ".pot" y generar un ".po":
* Acceder al blog (login) con un usuario de Facebook, siendo Facebook el que valida el usuario sin que este indique en ningn momento su clave al blog/sitio al que accede.
* El usuario no necesita registrarse en el blog e indicar sus datos de perfil dado que desde el blog/sitio al que accede es posible recuperar la informacin del perfil del usuario en Facebook(nombre, foto, sexo, ciudad, idioma,.). Estos datos que tanto cuesta conseguir de un usuario porque est harto de registrase en mil sitios, los podemos explotar para personalizar el blog, generar estadsticas De forma automtica el plugin crea un usuario de Wordpress con la informacin del perfil Facebook, que posteriormente podr editar el usuario.
* Es posible obtener la lista de amigos/contactos del usaurio en Facebook, y generarinvitaciones para que accedan a nuestro blog/sitio. Una forma de promocionar el sitio mediante el maravilloso boca-oreja. * Es posible recuperar la lista de amigos que ya pertenecen a la comunidad del blog/sitio. * La actividad que realiza el usuario en el blog/sitio (Ej. comentar un post), se puedeenviar al minifeed de Facebook, para que forme parte de su lifestream y otros usuarios de Facebook puedan ver dicha actividad (nuevamente el boca-oreja). * Es posible mostrar las ltimas visitas a nuetro blog, con la foto de los usuarios que han accedido mediante Facebook Connect.
Licencia Copyleft
Copyright
Licencia Copyleft
Este documento est protegido bajo la licencia Reconocimiento-Compartir Igual 2.1 Espaa de Creative Common (http://creativecommons.org/licenses/bynd/2.1/es/)
Copyright 2009 Irontec <contacto@irontec.com> Copyright 2009 Lander Ontoria <lander@irontec.com> Se permite la copia, modificacin, distribucin, uso comercial y realizacin de la obra, siempre y cuando se reconozca la autora de la misma, a no sea ser que se obtenga permiso expreso del autor. El autor no permite distribuir obras derivadas a esta. Esta nota no es la licencia completa de la obra, sino una traduccin de la nota orientativa de la licencia original completa (jurdicamente vlida).