SlideShare una empresa de Scribd logo
Vistiendo a




WordPress
                 Lorena Fernández
             loretahur@gmail.com
         Cursillos del e-ghost 2010
Contenidos
●   La estructura de WordPress
●   La estructura básica de un theme
●   Sidebars
●   Cabeceras y footers personalizados
●   Categorías y etiquetas personalizadas
●   Templates
●   The Loop
●   Funciones
●   Custom fields - Campos personalizados
●   Panel de administración del theme
Todo explicado y con más letra en:
http://wiki.loretahur.net/index.php/Themes
Vuestra nueva Biblia: Codex WordPress
      http://codex.wordpress.org/
El gran repositorio de WordPress de plantillas
           para que tomemos ideas:

     http://wordpress.org/extend/themes/
La estructura de WordPress (I)
●   wp-config.php: fichero de configuración.
    Aquí está almacenado el usuario y el nombre
    de la base de datos, así como otros datos de
    seguridad. Este fichero no se machaca con
    las actualizaciones de WP.
●   wp-admin y wp-includes: carpetas que
    guardan los ficheros php que hacen que
    funcione el blog. Ambas carpetas se
    machacan con las actualizaciones.
La estructura de WordPress (II)
●   wp-content: esta carpeta guarda los datos y configuraciones propias del
    blog. No se toca nada en la actualizaciones de WP. La estructura interna es
    la siguiente:
     ● uploads: todas las imágenes, vídeos y archivos que se suban a la librería

       de wordpress. Normalmente se organiza por años y luego por meses.
       Ejemplo: uploads/2009/12.
     ● plugins: todos los plugins que tenemos disponibles para el blog (aunque

       no estén activos).
     ● languages: aquí van los ficheros .mo de los idiomas en los que queremos

       tener WP (tanto la parte visible como la de administración).
     ● themes: todas las plantillas que tenemos disponibles para "vestir" al blog.

       Nosotros nos centraremos en esta carpeta.
Una instalación de WordPress es totalmente portable
     Sólo necesitaremos esas carpetas y la BD
Las plantillas o themes son la capa de presentación
Se puede cambiar esta capa sin que la información se vea afectada
La estructura básica de un theme
header.php: aquí se define la cabecera de la página
footer.php: aquí se define el pie de página
sidebar.php: aquí se definen las diferentes barras laterales
index.php: este es el fichero que carga de inicio el site.




    Desde aquí se invoca la carga de cabecera (get_header();),
       barras laterales (get_sidebar();) y footer (get_footer();)
y en el cuerpo central, se ejecuta el bucle para cargar la información
single.php: este es el fichero que se interpreta
       cuando se carga un post concreto
archive.php: igual que single.php pero para las
       páginas de categorías y etiquetas
category.php: plantilla para las categorías.
Cuando un usuario pincha sobre el enlace de una categoría,
    WordPress prueba si existe el fichero category.php.
           Si no lo encuentra, carga archive.php.
  Y si éste tampoco lo encuentra, se va a por el index.php
comments.php: plantilla de los comentarios
searchform.php: formulario de búsqueda
search.php: página donde se muestran los resultados de una búsqueda
functions.php: aquí se recogerán funciones propias del theme.
 Por ejemplo, si queremos registrar varias barras laterales para
 que aparezcan en la sección de widgets, indicar a WP dónde
         están los ficheros de idiomas, quitar filtros, ...
404.php: si creamos este fichero, cada vez que algo no se
      encuentre en el blog, se cargará esta página
Desde el apartado de administración se podrá configurar la apariencia de
  una forma muy visual mediante widgets (en Apariencia -> Widgets).
 Aquí aparecen las barras laterales definidas y múltiples funcionalidades
que se pueden colocar: comentarios recientes, posts recientes, buscador,
        una caja donde introducir nuestro propio código html, ...
También desde el apartado de administración (Ajustes -> Lectura)
podemos configurar que en la portada se cargue una página y no el
  formato blog de entradas, dándole más carácter de página web
Sidebars

Para que aparezcan en la sección de
widgets las diferentes sidebars que
queramos "alimentar" desde el panel de
administración, hay que registrarlas en el
fichero functions.php de la siguiente forma:
if ( function_exists('register_sidebars') )
{
    register_sidebar(array(
          'name' => 'Barra Lateral Derecha',
          'before_widget' => 'código html que queremos que se cargue al inicio de la
barra',
          'after_widget' => 'código html que queremos que se cargue al final de la
barra',
        'before_title' => 'código html que queremos que se cargue al inicio del
título de la barra',
        'after_title' => 'código html que queremos que se cargue al final del
título de la barra',
    ));
    register_sidebar(array(
          'name' => 'Barra Lateral Izquierda',
          'before_widget' => 'código html que queremos que se cargue al inicio de la
barra',
          'after_widget' => 'código html que queremos que se cargue al final de la
barra',
        'before_title' => 'código html que queremos que se cargue al inicio del
título de la barra',
        'after_title' => 'código html que queremos que se cargue al final del
título de la barra',
    ));
}
Para usarlas posteriormente, la llamada
           será de la siguiente forma:

<?php
if ( !function_exists('dynamic_sidebar') ||
!dynamic_sidebar('Barra Lateral Izquierda') ) :
          echo "El usuario no ha puesto widgets en
esta barra";
endif;
?>
Cabeceras y footers personalizados (I)


De una forma sencilla podemos cargar ficheros
php personalizados para mostrar diferentes
footers o cabeceras según estemos en una
categoría u otra.

WordPress busca el fichero header-slug.php (el
slug es el permalink. Es decir, la versión url del
nombre: una cadena sin mayúsculas, sin tildes,
con guiones en vez de espacios).
Cabeceras y footers personalizados (II)


Ejemplo: si estamos en la categoría de Cine se
cargará header-cine.php.
Si no, se cargará header.php


<?php if (is_category('cine')) {
  get_header('cine');
} else {
  get_header();
} ?>
Categorías y etiquetas personalizadas (I)


Para cargar diferentes presentaciones dependiendo de
la categoría o la etiqueta sobre la que se pinche,
podemos crear un php igual que lo hacíamos con las
cabeceras, es decir category-slug.php o tag-slug.php
o bien con el siguiente formato de nombre category-
XX.php o tag-XX.php (donde XX es el id que tiene
internamente esa categoría o etiqueta). De esta forma,
podríamos ponerle una cabecera, un footer y un sidebar
personalizados dependiendo de la categoría o la etiqueta
en la que estemos.
Vistiendo a WordPress
Templates

Podemos crear plantillas con comportamientos
propios a los que luego asignar a cada página.
Desde el editor de páginas estáticas hay una
opción para aplicar plantillas. Para que un fichero
php sea interpretado por WordPress como una
template, hay que incluir al inicio del mismo el
siguiente código:

     /*
     Template Name: Nombre-plantilla
     */
The Loop

El bucle es el proceso más importante de WordPress, aquel
que nos devuelve y recorre todos los posts que corresponden
al fichero desde el que se invoca:

● Si se le llama desde index.php, nos devuelve los últimos
posts que se hayan escrito (tantos como tengamos definidos
que deberían formar parte de la portada en el apartado de
administración).
● Si se le llama desde archive.php, nos devuelve los posts

de una etiqueta determinada o de una categoría concreta
(dependerá de quién haga la llamada a ese fichero).
<?php
get_header();
if (have_posts()) :
     while (have_posts()) : the_post();
         the_content();
     endwhile;
endif;
get_sidebar();
get_footer();
?>
The Loop
wp_query->current_post: nos devuelve el número del
post en el que estamos dentro del loop. Un ejemplo de
uso en el que mostramos el contenido para los tres
primeros posts y sólo el título para el resto:

<?php   if (have_posts()) :
           while (have_posts()) : the_post();
              if ($wp_query->current_post < 3) {
                   the_content();
              }
              else {
                   the_title();
              }
           endwhile;
        endif;
?>
query_posts: nuestro Loop personalizado

También se puede controlar qué posts nos devolverá ese loop
mediante la función query_posts. Esa función regenera la
consulta y filtra los posts en base a los parámetros que le
pongamos:
● cat=ID: filtra por esa categoría. Si al id se le pone un guión por delante,
muestra los posts de todas las categorías menos de esa.
● tag=slug: filtra por etiqueta. En esta ocasión se le pasa el slug. Si

queremos usar el ID de la etiqueta, pondremos el parámetro tag_id.
● author=ID: filtra por usuario, usando el ID del mismo.

● order=ASC u order=DESC: indica la ordenación de los resultados,

ascendente o descendente.
● year=año: filtra por año.

● monthnum=mes: filtra por mes.

● day=día: filtra por día.

● posts_per_page=número: número de posts por página
<?php
query_posts('posts_per_page=5&author=3&tag=discos');


//The Loop
if ( have_posts() ) : while ( have_posts() ) :
the_post();
 ..
endwhile; else:
 ..
endif;


//Reset Query
wp_reset_query(); ?>
Funciones nativas de WordPress
the_permalink()




     Nos dará la url del post que estemos tratando dentro del loop.
  No tiene parámetros. Con get_permalink() tendremos que mostrarlo
nosotros por pantalla con un echo, pero nos permite que, si tenemos el ID
   del post y se lo pasamos por parámetro, lo usemos fuera del loop:
                        get_permalink($post->ID)
the_title($before, $after, $echo)




          Muestra el título del post. Es necesario usarlo dentro del loop.
Los parámetros $after y $before nos permite introducir cadenas de texto que irán
        delante y detrás respectivamente. Ejemplo: the_title('<h3>', '</h3>');
 El parámetro $echo nos sirve para indicar si queremos que muestre el título por
 pantalla (si lo ponemos a true) o no para hacer algún tratamiento con ese título
 (si lo ponemos a false). Con get_the_title(ID) sucede igual que get_permalink
                             pero para el título del post.
the_content()




     Muestra el cuerpo del post.Se usa dentro del loop
       Tiene también su versión get_the_content()
the_excerpt()




   Muestra lo que hayamos introducido en el campo Extracto
   Se usa dentro del loop. Tiene su versión get_the_excerpt()
<?php
if(!empty($post->post_excerpt)) {
// Si tiene extracto, lo muestra
     the_excerpt();
} else {
// Si no, muestra el contenido del post
     the_content();
}
?>
the_time()




              Muestra la fecha por cada post
   Le podemos pasar por parámetro el formato de esa fecha
●   l = Nombre completo del día de la semana.
●   F = Nombre completo para el mes.
●   j = Día numérico.
●   m = Mes con dos dígitos.
●   Y = Año con cuatro dígitos.
●   y = Año con dos dígitos.
●   Para escapar letras, usaremos la barra . Por ejemplo, para
    poner la palabra "de" le pasaremos "de"



<?php the_time('l, j de F, Y'); //Nos
muestra Martes, 14 de Septiembre, 2010 ?>
the_date()




Igual que the_time pero muestra la fecha soló en el primer post de un
             grupo que haya sido publicado el mismo día
bloginfo()




Nos ofrece numerosa información de nuestro blog que luego podremos
      plasmar en otros apartados (tiene se versión get_bloginfo)
●   bloginfo('name'): muestra por pantalla el nombre del blog.
●   bloginfo('description'): muestra por pantalla el nombre del blog.
●   bloginfo('url'): muestra por pantalla la dirección del blog.
●   bloginfo('stylesheet_url'): muestra por pantalla la ruta del fichero de
    estilos (style.css).
●   bloginfo('template_url'): muestra por pantalla la ruta del theme.
●   bloginfo('rss2_url'): muestra por pantalla la ruta del RSS.



<a href="<?php bloginfo('url'); ?>" title="<?php
bloginfo('name'); ?>">
       <?php bloginfo('name'); ?>
</a>
the_author()




   Muestra por pantalla el autor que ha escrito ese post
       Tiene su versión sin echo: get_the_author
the_tags( $before, $separator, $after)




       Muestra las etiquetas asociadas a ese post
             Tiene su versión get_the_tags.
Por parámetro se le puede pasar el texto que precederá a
las etiquetas, los caracteres que queremos que separen
las etiquetas y el texto que irá al final:


<?php
     the_tags('Etiquetas:', ' - ', '<br />');
?>
previous_posts_link()
next_posts_link()




Muestra un enlace con el texto que le pasemos por parámetro a
   los posts que estén en páginas anteriores o posteriores
<div class="navigation">
 <div class="alignleft">
<?php previous_posts_link('','','Artículos
Anteriores')?>
 </div>
 <div class="alignright">
<?php next_posts_link('','Artículos
Siguientes','')?>
 </div>
</div>
in_category($category)




Nos dice si ese post está en la categoría pasada por parámetro.
  Se puede pasar el ID de la categoría o bien el slug. Con esto
 también podemos hacer que tenga comportamientos distintos
     según la categoría y en un único fichero category.php
<?php if (in_category('3') ){ ?>
 <img src='/images/plant.png' alt='a
plant' />


<?php } elseif (in_category('4') ){ ?>
 <img src='/images/flower.png' alt='a
pretty flower' />
<?php } ?>
Custom fields o campos personalizados: información adicional
como la canción que estaba escuchando el autor cuando escribía
                el post, su estado de ánimo, ...
El Nombre será el identificador de nuestro campo
personalizado y el Valor lo que queremos mostrar
Obtendremos el valor de ese campo dentro del loop
con la siguiente llamada get_post_custom_values:


<?php $valor_custom_field =
get_post_custom_values("nombre-del-custom-
field"); ?>


O también con la función get_post_meta:

<?php $valor_custom_field =
get_post_meta($post->ID, nombre-del-custom-
field); ?>
Creando nuestro propio apartado de administración para el theme
Poner una cajita para guardar nuestro código de Google Analytics (en functions.php):


function nombredeltheme_theme() {
if(isset($_POST['submitted']) and $_POST['submitted'] == 'yes') :
update_option("google_analytics", stripslashes($_POST['google_analytics']));
endif;
?>
<form method="post" name="update_form" target="_self">
<h1>Google Analytics</h1>
<table class="form-table">
<tr>
<th>Google Analytics:</th>
<td><textarea name="google_analytics" style="width: 95%;" rows="10" />
                                <?php echo get_option('google_analytics'); ?></textarea><br />Copia el
código Google Analytics aquí.</td>
</tr>
</table>
<p class="submit" id="jump_submit">
<input name="submitted" type="hidden" value="yes" />
<input type="submit" name="Submit" value="Save Changes" />
</form>
<?php
}
function nombredeltheme_options() {
add_menu_page('Opciones del Theme', __('Opciones del Theme', 'default'), 'edit_themes', __FILE__,
'nombredeltheme_theme');
}
add_action('admin_menu', 'nombredeltheme_options');
Luego lo llamamos desde footer.php:

<?php echo get_option('google_analytics'); ?>
Muchas gracias :­)
Todas las imágenes* son propiedad de sus
 respectivos dueños, el resto del contenido
            está licenciado bajo
      Creative Commons by-sa 3.0




* Steven Snodgrass, Tracy, Publicenergy, Giuliana, Silkegb, Gabaldón,
 Gonzalo Iza, Sebastian Delmont, Maurizio Abbate, Leeni!, Borghetti,
    Gustavo Peres, Chris Bevan, Seattle Municipal Archives, Luis de
   Bethencourt, No hay un nombre real, Víctor Nuño, Baptiste Pons,
 Pupilas Gustativas, Jesús DQ, Brandon Warren, Joe Lencioni, Arnoldo
  Lara, Luis Beltrán, Ivan Walsh, Claudio Sepúlveda Geoffroy, Mireia,
             Sara Musicò, Anaïs RV, David Acevedo, Godoy

Más contenido relacionado

La actualidad más candente

¿Qué es WordPress?
¿Qué es WordPress? ¿Qué es WordPress?
¿Qué es WordPress?
webcomunicaciones
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de Wordpress
Irontec
 
Creacion de un blog con WordPress desde cero
Creacion de un blog con WordPress desde ceroCreacion de un blog con WordPress desde cero
Creacion de un blog con WordPress desde cero
Sergio Vazquez Consultor SEO Adwords
 
Curso Wordpress desde Cero, parte 2
Curso Wordpress desde Cero, parte 2Curso Wordpress desde Cero, parte 2
Curso Wordpress desde Cero, parte 2
Sergio Nouvel Castro
 
Iniciación a wordpress
Iniciación a wordpressIniciación a wordpress
Iniciación a wordpress
Alejandro Gil Mialdea
 
Iniciación a Wordpress #EmprendeTools
Iniciación a Wordpress #EmprendeToolsIniciación a Wordpress #EmprendeTools
Iniciación a Wordpress #EmprendeTools
Alejandro Gil Mialdea
 
WordPress para programadores
WordPress para programadoresWordPress para programadores
WordPress para programadores
wpargentina
 
Introduccion a Wordpress - Empezando desde cero
Introduccion a Wordpress - Empezando desde ceroIntroduccion a Wordpress - Empezando desde cero
Introduccion a Wordpress - Empezando desde cero
David Merinas Ariza
 
Cómo aprovechar mejor Wordpress - Daniel Monleón
Cómo aprovechar mejor Wordpress - Daniel Monleón Cómo aprovechar mejor Wordpress - Daniel Monleón
Cómo aprovechar mejor Wordpress - Daniel Monleón
Comunica2 Campus Gandia
 
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbaoDesarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Darío BF
 
Software Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivoSoftware Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivo
Rafael Poveda
 
Wordpress
WordpressWordpress
Wordpress
WordpressWordpress
Wordpress
xavieralvaro1988
 
Introducción a WordPress
Introducción a WordPressIntroducción a WordPress
Introducción a WordPress
WP Curso
 
Rethinking Themes - Mecus
Rethinking Themes - MecusRethinking Themes - Mecus
Rethinking Themes - Mecus
Rafael Poveda
 
Trabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentroTrabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentro
Rafael Poveda
 
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
Darío BF
 
Crea tu web en wordpress 2015
Crea tu web en wordpress 2015Crea tu web en wordpress 2015
Crea tu web en wordpress 2015
Fundació Bit
 
Presentacion Word Press
Presentacion Word PressPresentacion Word Press
Presentacion Word Press
Pucaas
 
Wordpress
WordpressWordpress
Wordpress
Yerko Bravo
 

La actualidad más candente (20)

¿Qué es WordPress?
¿Qué es WordPress? ¿Qué es WordPress?
¿Qué es WordPress?
 
Curso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de WordpressCurso avanzado de programación y configuración de Wordpress
Curso avanzado de programación y configuración de Wordpress
 
Creacion de un blog con WordPress desde cero
Creacion de un blog con WordPress desde ceroCreacion de un blog con WordPress desde cero
Creacion de un blog con WordPress desde cero
 
Curso Wordpress desde Cero, parte 2
Curso Wordpress desde Cero, parte 2Curso Wordpress desde Cero, parte 2
Curso Wordpress desde Cero, parte 2
 
Iniciación a wordpress
Iniciación a wordpressIniciación a wordpress
Iniciación a wordpress
 
Iniciación a Wordpress #EmprendeTools
Iniciación a Wordpress #EmprendeToolsIniciación a Wordpress #EmprendeTools
Iniciación a Wordpress #EmprendeTools
 
WordPress para programadores
WordPress para programadoresWordPress para programadores
WordPress para programadores
 
Introduccion a Wordpress - Empezando desde cero
Introduccion a Wordpress - Empezando desde ceroIntroduccion a Wordpress - Empezando desde cero
Introduccion a Wordpress - Empezando desde cero
 
Cómo aprovechar mejor Wordpress - Daniel Monleón
Cómo aprovechar mejor Wordpress - Daniel Monleón Cómo aprovechar mejor Wordpress - Daniel Monleón
Cómo aprovechar mejor Wordpress - Daniel Monleón
 
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbaoDesarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
Desarrollo de Themes de WordPress desde cero. @DarioBF en @WPBilbao
 
Software Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivoSoftware Libre como modelo de negocio productivo
Software Libre como modelo de negocio productivo
 
Wordpress
WordpressWordpress
Wordpress
 
Wordpress
WordpressWordpress
Wordpress
 
Introducción a WordPress
Introducción a WordPressIntroducción a WordPress
Introducción a WordPress
 
Rethinking Themes - Mecus
Rethinking Themes - MecusRethinking Themes - Mecus
Rethinking Themes - Mecus
 
Trabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentroTrabajando en comunidad, WordPress desde dentro
Trabajando en comunidad, WordPress desde dentro
 
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
WPEuskadi 2015 - La potencia sin control no sirve de nada, claves para aprove...
 
Crea tu web en wordpress 2015
Crea tu web en wordpress 2015Crea tu web en wordpress 2015
Crea tu web en wordpress 2015
 
Presentacion Word Press
Presentacion Word PressPresentacion Word Press
Presentacion Word Press
 
Wordpress
WordpressWordpress
Wordpress
 

Destacado

Retos WordPress 2017 - Fernando Tellado
Retos WordPress 2017 - Fernando TelladoRetos WordPress 2017 - Fernando Tellado
Retos WordPress 2017 - Fernando Tellado
Fernando Tellado
 
Wordpress, características y guía de uso
Wordpress, características y guía de usoWordpress, características y guía de uso
Wordpress, características y guía de uso
guestdad27e
 
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 201710 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
Juan Seguí Moreno
 
Estrategias Marketing Online y Social Media Marketing
Estrategias Marketing Online y Social Media MarketingEstrategias Marketing Online y Social Media Marketing
Estrategias Marketing Online y Social Media Marketing
Seeway Formación
 
Seo para Wordpress 2012
Seo para Wordpress 2012Seo para Wordpress 2012
Seo para Wordpress 2012
Arturo Marimon
 
Wordpres blog bryan poma
Wordpres blog bryan pomaWordpres blog bryan poma
Wordpres blog bryan poma
Bryan Poma
 
Wordpress ante el mundo web moderno
Wordpress ante el mundo web modernoWordpress ante el mundo web moderno
Wordpress ante el mundo web moderno
Bienvenido Muelas
 
Tutorial wordpress en español.
Tutorial wordpress en español.Tutorial wordpress en español.
Tutorial wordpress en español.
ruben bretones
 
Como Crear un Blog desde cero.
Como Crear un Blog desde cero.Como Crear un Blog desde cero.
Como Crear un Blog desde cero.
insidenet
 
Páginas web en joomla
Páginas web en joomlaPáginas web en joomla
Páginas web en joomla
lumecas
 
Curso de Joomla
Curso de JoomlaCurso de Joomla
Curso de Joomla
Educanet Desarrolloweb
 
Iniciación a la creación de páginas web con Joomla
Iniciación a la creación de páginas web con JoomlaIniciación a la creación de páginas web con Joomla
Iniciación a la creación de páginas web con Joomla
Sergi Montes
 
Keynote
KeynoteKeynote
Keynote
juanbrujo
 
WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...
WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...
WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...
Marcelo Tena Vicente
 
SEO en WordPress
SEO en WordPressSEO en WordPress
SEO en WordPress
Fernando Tellado
 
Tutorial de WordPress
Tutorial de WordPressTutorial de WordPress
Tutorial de WordPress
alelr
 
Tutorial wordpress
Tutorial wordpressTutorial wordpress
Tutorial wordpress
Luis Lago Espejo-Saavedra
 
Templates de Wordpress
Templates de WordpressTemplates de Wordpress
Templates de Wordpress
Nuevo Perfil
 
Pancreatitis
PancreatitisPancreatitis
Pancreatitis
Vytautas Karosas
 
Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
Laura Melo
 

Destacado (20)

Retos WordPress 2017 - Fernando Tellado
Retos WordPress 2017 - Fernando TelladoRetos WordPress 2017 - Fernando Tellado
Retos WordPress 2017 - Fernando Tellado
 
Wordpress, características y guía de uso
Wordpress, características y guía de usoWordpress, características y guía de uso
Wordpress, características y guía de uso
 
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 201710 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
10 consejos para mejorar la WPO en WordPress - Ponencia Wordcamp Alicante 2017
 
Estrategias Marketing Online y Social Media Marketing
Estrategias Marketing Online y Social Media MarketingEstrategias Marketing Online y Social Media Marketing
Estrategias Marketing Online y Social Media Marketing
 
Seo para Wordpress 2012
Seo para Wordpress 2012Seo para Wordpress 2012
Seo para Wordpress 2012
 
Wordpres blog bryan poma
Wordpres blog bryan pomaWordpres blog bryan poma
Wordpres blog bryan poma
 
Wordpress ante el mundo web moderno
Wordpress ante el mundo web modernoWordpress ante el mundo web moderno
Wordpress ante el mundo web moderno
 
Tutorial wordpress en español.
Tutorial wordpress en español.Tutorial wordpress en español.
Tutorial wordpress en español.
 
Como Crear un Blog desde cero.
Como Crear un Blog desde cero.Como Crear un Blog desde cero.
Como Crear un Blog desde cero.
 
Páginas web en joomla
Páginas web en joomlaPáginas web en joomla
Páginas web en joomla
 
Curso de Joomla
Curso de JoomlaCurso de Joomla
Curso de Joomla
 
Iniciación a la creación de páginas web con Joomla
Iniciación a la creación de páginas web con JoomlaIniciación a la creación de páginas web con Joomla
Iniciación a la creación de páginas web con Joomla
 
Keynote
KeynoteKeynote
Keynote
 
WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...
WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...
WordCamp Santander 2016 - Aplicaciones web con AngularJS y la REST API de Wor...
 
SEO en WordPress
SEO en WordPressSEO en WordPress
SEO en WordPress
 
Tutorial de WordPress
Tutorial de WordPressTutorial de WordPress
Tutorial de WordPress
 
Tutorial wordpress
Tutorial wordpressTutorial wordpress
Tutorial wordpress
 
Templates de Wordpress
Templates de WordpressTemplates de Wordpress
Templates de Wordpress
 
Pancreatitis
PancreatitisPancreatitis
Pancreatitis
 
Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
 

Similar a Vistiendo a WordPress

Instructivo themewordpress
Instructivo themewordpressInstructivo themewordpress
Instructivo themewordpress
Hernán Alejandro Roa Reyes
 
Conceptos Tecnicos WordPress
Conceptos Tecnicos WordPressConceptos Tecnicos WordPress
Conceptos Tecnicos WordPress
KeinerA
 
Que es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPressQue es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPress
Luis Miguel Delgado
 
Guia word press
Guia word pressGuia word press
Guia word press
ivan1587
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
rmirandaibanez
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
rmirandaibanez
 
Joomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates WorkshopJoomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates Workshop
joomlaprojects
 
Wordpress
WordpressWordpress
Wordpress
Alexander Acurio
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
jomyto
 
Wordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEOWordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEO
David Ayala Gil
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrap
ljds
 
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
Asociación Webmasters Cantabria
 
Manual de administracion de Wordpress
Manual de administracion de WordpressManual de administracion de Wordpress
Manual de administracion de Wordpress
mateitoo1Mh
 
Compu
CompuCompu
Compu
g1an3l45
 
Funciones
FuncionesFunciones
Funciones
Hector Ortiz
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomla
ivanGorL
 
Manual wordpress para autores nov2010
Manual wordpress para autores nov2010Manual wordpress para autores nov2010
Manual wordpress para autores nov2010
FACTORY WEB, EXPERTOS EN REDES SOCIALES PARA EMPRESAS
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
Ángel Puente
 
Joomla! Curso Noviembre
Joomla! Curso NoviembreJoomla! Curso Noviembre
Joomla! Curso Noviembre
Ángel Puente
 
Creación de un sitio web en wordpress
Creación de un sitio web en wordpressCreación de un sitio web en wordpress
Creación de un sitio web en wordpress
Milton González
 

Similar a Vistiendo a WordPress (20)

Instructivo themewordpress
Instructivo themewordpressInstructivo themewordpress
Instructivo themewordpress
 
Conceptos Tecnicos WordPress
Conceptos Tecnicos WordPressConceptos Tecnicos WordPress
Conceptos Tecnicos WordPress
 
Que es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPressQue es un child theme y como está relacionado con WordPress
Que es un child theme y como está relacionado con WordPress
 
Guia word press
Guia word pressGuia word press
Guia word press
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
 
Doctrine symfony
Doctrine symfonyDoctrine symfony
Doctrine symfony
 
Joomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates WorkshopJoomladay Mallorca 2010 Templates Workshop
Joomladay Mallorca 2010 Templates Workshop
 
Wordpress
WordpressWordpress
Wordpress
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
 
Wordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEOWordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEO
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrap
 
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
La potencia sin control no sirve de nada, claves para aprovechar el uso de Wo...
 
Manual de administracion de Wordpress
Manual de administracion de WordpressManual de administracion de Wordpress
Manual de administracion de Wordpress
 
Compu
CompuCompu
Compu
 
Funciones
FuncionesFunciones
Funciones
 
Desarrollar un módulo para joomla
Desarrollar un módulo para joomlaDesarrollar un módulo para joomla
Desarrollar un módulo para joomla
 
Manual wordpress para autores nov2010
Manual wordpress para autores nov2010Manual wordpress para autores nov2010
Manual wordpress para autores nov2010
 
Joomla Curso Noviembre
Joomla Curso NoviembreJoomla Curso Noviembre
Joomla Curso Noviembre
 
Joomla! Curso Noviembre
Joomla! Curso NoviembreJoomla! Curso Noviembre
Joomla! Curso Noviembre
 
Creación de un sitio web en wordpress
Creación de un sitio web en wordpressCreación de un sitio web en wordpress
Creación de un sitio web en wordpress
 

Más de Lorena Fernández

Inteligencia Artificial en las aulas
Inteligencia Artificial en las aulasInteligencia Artificial en las aulas
Inteligencia Artificial en las aulas
Lorena Fernández
 
La IA creativa
La IA creativaLa IA creativa
La IA creativa
Lorena Fernández
 
¿Quién quiere ser un holograma? El retorno de los metaversos
¿Quién quiere ser un holograma? El retorno de los metaversos¿Quién quiere ser un holograma? El retorno de los metaversos
¿Quién quiere ser un holograma? El retorno de los metaversos
Lorena Fernández
 
NFT. Piezas de coleccionista en digital
NFT. Piezas de coleccionista en digitalNFT. Piezas de coleccionista en digital
NFT. Piezas de coleccionista en digital
Lorena Fernández
 
Tócala otra vez, Spotify
Tócala otra vez, SpotifyTócala otra vez, Spotify
Tócala otra vez, Spotify
Lorena Fernández
 
El efecto perspectiva
El efecto perspectiva El efecto perspectiva
El efecto perspectiva
Lorena Fernández
 
Rompiendo los pasillos de cristal en las STEAM
Rompiendo los pasillos de cristal en las STEAMRompiendo los pasillos de cristal en las STEAM
Rompiendo los pasillos de cristal en las STEAM
Lorena Fernández
 
Los ladrones de pensamientos
Los ladrones de pensamientosLos ladrones de pensamientos
Los ladrones de pensamientos
Lorena Fernández
 
Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...
Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...
Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...
Lorena Fernández
 
La brecha de género y cómo incorporar la perspectiva de género en el diseño d...
La brecha de género y cómo incorporar la perspectiva de género en el diseño d...La brecha de género y cómo incorporar la perspectiva de género en el diseño d...
La brecha de género y cómo incorporar la perspectiva de género en el diseño d...
Lorena Fernández
 
Haters gonna hate. El comando del odio
Haters gonna hate. El comando del odioHaters gonna hate. El comando del odio
Haters gonna hate. El comando del odio
Lorena Fernández
 
Women in Science. Women in STEM careers, from school to the lab
Women in Science. Women in STEM careers, from school to the labWomen in Science. Women in STEM careers, from school to the lab
Women in Science. Women in STEM careers, from school to the lab
Lorena Fernández
 
La eternidad aumentada
La eternidad aumentadaLa eternidad aumentada
La eternidad aumentada
Lorena Fernández
 
La ventana indiscreta
La ventana indiscretaLa ventana indiscreta
La ventana indiscreta
Lorena Fernández
 
Identifícate o te identifico yo
Identifícate o te identifico yoIdentifícate o te identifico yo
Identifícate o te identifico yo
Lorena Fernández
 
El impacto de la digitalización en los perfiles profesionales
El impacto de la digitalización en los perfiles profesionalesEl impacto de la digitalización en los perfiles profesionales
El impacto de la digitalización en los perfiles profesionales
Lorena Fernández
 
Exconectados
ExconectadosExconectados
Exconectados
Lorena Fernández
 
La transformación digital en la educación
La transformación digital en la educaciónLa transformación digital en la educación
La transformación digital en la educación
Lorena Fernández
 
Impacto de la digitalización en los perfiles profesionales
Impacto de la digitalización en los perfiles profesionalesImpacto de la digitalización en los perfiles profesionales
Impacto de la digitalización en los perfiles profesionales
Lorena Fernández
 
Social Media, Big Data and Libraries. The Next Step
Social Media, Big Data and Libraries. The Next StepSocial Media, Big Data and Libraries. The Next Step
Social Media, Big Data and Libraries. The Next Step
Lorena Fernández
 

Más de Lorena Fernández (20)

Inteligencia Artificial en las aulas
Inteligencia Artificial en las aulasInteligencia Artificial en las aulas
Inteligencia Artificial en las aulas
 
La IA creativa
La IA creativaLa IA creativa
La IA creativa
 
¿Quién quiere ser un holograma? El retorno de los metaversos
¿Quién quiere ser un holograma? El retorno de los metaversos¿Quién quiere ser un holograma? El retorno de los metaversos
¿Quién quiere ser un holograma? El retorno de los metaversos
 
NFT. Piezas de coleccionista en digital
NFT. Piezas de coleccionista en digitalNFT. Piezas de coleccionista en digital
NFT. Piezas de coleccionista en digital
 
Tócala otra vez, Spotify
Tócala otra vez, SpotifyTócala otra vez, Spotify
Tócala otra vez, Spotify
 
El efecto perspectiva
El efecto perspectiva El efecto perspectiva
El efecto perspectiva
 
Rompiendo los pasillos de cristal en las STEAM
Rompiendo los pasillos de cristal en las STEAMRompiendo los pasillos de cristal en las STEAM
Rompiendo los pasillos de cristal en las STEAM
 
Los ladrones de pensamientos
Los ladrones de pensamientosLos ladrones de pensamientos
Los ladrones de pensamientos
 
Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...
Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...
Lo esencial es invisible a los ojos. O cómo luchar contra la opacidad de los ...
 
La brecha de género y cómo incorporar la perspectiva de género en el diseño d...
La brecha de género y cómo incorporar la perspectiva de género en el diseño d...La brecha de género y cómo incorporar la perspectiva de género en el diseño d...
La brecha de género y cómo incorporar la perspectiva de género en el diseño d...
 
Haters gonna hate. El comando del odio
Haters gonna hate. El comando del odioHaters gonna hate. El comando del odio
Haters gonna hate. El comando del odio
 
Women in Science. Women in STEM careers, from school to the lab
Women in Science. Women in STEM careers, from school to the labWomen in Science. Women in STEM careers, from school to the lab
Women in Science. Women in STEM careers, from school to the lab
 
La eternidad aumentada
La eternidad aumentadaLa eternidad aumentada
La eternidad aumentada
 
La ventana indiscreta
La ventana indiscretaLa ventana indiscreta
La ventana indiscreta
 
Identifícate o te identifico yo
Identifícate o te identifico yoIdentifícate o te identifico yo
Identifícate o te identifico yo
 
El impacto de la digitalización en los perfiles profesionales
El impacto de la digitalización en los perfiles profesionalesEl impacto de la digitalización en los perfiles profesionales
El impacto de la digitalización en los perfiles profesionales
 
Exconectados
ExconectadosExconectados
Exconectados
 
La transformación digital en la educación
La transformación digital en la educaciónLa transformación digital en la educación
La transformación digital en la educación
 
Impacto de la digitalización en los perfiles profesionales
Impacto de la digitalización en los perfiles profesionalesImpacto de la digitalización en los perfiles profesionales
Impacto de la digitalización en los perfiles profesionales
 
Social Media, Big Data and Libraries. The Next Step
Social Media, Big Data and Libraries. The Next StepSocial Media, Big Data and Libraries. The Next Step
Social Media, Big Data and Libraries. The Next Step
 

Último

Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
Rubén Cortes Zavala
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
JessAdrinGonzlezCade
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
Navsat
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
lourdesuribe6
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
DianaGray10
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 

Último (16)

Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
¿Cómo funciona el seguimiento por GPS y cómo puede ayudar al transporte y la ...
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
UiPath Community Data Service presentation
UiPath Community Data Service presentationUiPath Community Data Service presentation
UiPath Community Data Service presentation
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 

Vistiendo a WordPress

  • 1. Vistiendo a WordPress Lorena Fernández loretahur@gmail.com Cursillos del e-ghost 2010
  • 2. Contenidos ● La estructura de WordPress ● La estructura básica de un theme ● Sidebars ● Cabeceras y footers personalizados ● Categorías y etiquetas personalizadas ● Templates ● The Loop ● Funciones ● Custom fields - Campos personalizados ● Panel de administración del theme
  • 3. Todo explicado y con más letra en: http://wiki.loretahur.net/index.php/Themes
  • 4. Vuestra nueva Biblia: Codex WordPress http://codex.wordpress.org/
  • 5. El gran repositorio de WordPress de plantillas para que tomemos ideas: http://wordpress.org/extend/themes/
  • 6. La estructura de WordPress (I) ● wp-config.php: fichero de configuración. Aquí está almacenado el usuario y el nombre de la base de datos, así como otros datos de seguridad. Este fichero no se machaca con las actualizaciones de WP. ● wp-admin y wp-includes: carpetas que guardan los ficheros php que hacen que funcione el blog. Ambas carpetas se machacan con las actualizaciones.
  • 7. La estructura de WordPress (II) ● wp-content: esta carpeta guarda los datos y configuraciones propias del blog. No se toca nada en la actualizaciones de WP. La estructura interna es la siguiente: ● uploads: todas las imágenes, vídeos y archivos que se suban a la librería de wordpress. Normalmente se organiza por años y luego por meses. Ejemplo: uploads/2009/12. ● plugins: todos los plugins que tenemos disponibles para el blog (aunque no estén activos). ● languages: aquí van los ficheros .mo de los idiomas en los que queremos tener WP (tanto la parte visible como la de administración). ● themes: todas las plantillas que tenemos disponibles para "vestir" al blog. Nosotros nos centraremos en esta carpeta.
  • 8. Una instalación de WordPress es totalmente portable Sólo necesitaremos esas carpetas y la BD
  • 9. Las plantillas o themes son la capa de presentación Se puede cambiar esta capa sin que la información se vea afectada
  • 10. La estructura básica de un theme
  • 11. header.php: aquí se define la cabecera de la página
  • 12. footer.php: aquí se define el pie de página
  • 13. sidebar.php: aquí se definen las diferentes barras laterales
  • 14. index.php: este es el fichero que carga de inicio el site. Desde aquí se invoca la carga de cabecera (get_header();), barras laterales (get_sidebar();) y footer (get_footer();) y en el cuerpo central, se ejecuta el bucle para cargar la información
  • 15. single.php: este es el fichero que se interpreta cuando se carga un post concreto
  • 16. archive.php: igual que single.php pero para las páginas de categorías y etiquetas
  • 17. category.php: plantilla para las categorías. Cuando un usuario pincha sobre el enlace de una categoría, WordPress prueba si existe el fichero category.php. Si no lo encuentra, carga archive.php. Y si éste tampoco lo encuentra, se va a por el index.php
  • 18. comments.php: plantilla de los comentarios
  • 19. searchform.php: formulario de búsqueda search.php: página donde se muestran los resultados de una búsqueda
  • 20. functions.php: aquí se recogerán funciones propias del theme. Por ejemplo, si queremos registrar varias barras laterales para que aparezcan en la sección de widgets, indicar a WP dónde están los ficheros de idiomas, quitar filtros, ...
  • 21. 404.php: si creamos este fichero, cada vez que algo no se encuentre en el blog, se cargará esta página
  • 22. Desde el apartado de administración se podrá configurar la apariencia de una forma muy visual mediante widgets (en Apariencia -> Widgets). Aquí aparecen las barras laterales definidas y múltiples funcionalidades que se pueden colocar: comentarios recientes, posts recientes, buscador, una caja donde introducir nuestro propio código html, ...
  • 23. También desde el apartado de administración (Ajustes -> Lectura) podemos configurar que en la portada se cargue una página y no el formato blog de entradas, dándole más carácter de página web
  • 24. Sidebars Para que aparezcan en la sección de widgets las diferentes sidebars que queramos "alimentar" desde el panel de administración, hay que registrarlas en el fichero functions.php de la siguiente forma:
  • 25. if ( function_exists('register_sidebars') ) { register_sidebar(array( 'name' => 'Barra Lateral Derecha', 'before_widget' => 'código html que queremos que se cargue al inicio de la barra', 'after_widget' => 'código html que queremos que se cargue al final de la barra', 'before_title' => 'código html que queremos que se cargue al inicio del título de la barra', 'after_title' => 'código html que queremos que se cargue al final del título de la barra', )); register_sidebar(array( 'name' => 'Barra Lateral Izquierda', 'before_widget' => 'código html que queremos que se cargue al inicio de la barra', 'after_widget' => 'código html que queremos que se cargue al final de la barra', 'before_title' => 'código html que queremos que se cargue al inicio del título de la barra', 'after_title' => 'código html que queremos que se cargue al final del título de la barra', )); }
  • 26. Para usarlas posteriormente, la llamada será de la siguiente forma: <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Barra Lateral Izquierda') ) : echo "El usuario no ha puesto widgets en esta barra"; endif; ?>
  • 27. Cabeceras y footers personalizados (I) De una forma sencilla podemos cargar ficheros php personalizados para mostrar diferentes footers o cabeceras según estemos en una categoría u otra. WordPress busca el fichero header-slug.php (el slug es el permalink. Es decir, la versión url del nombre: una cadena sin mayúsculas, sin tildes, con guiones en vez de espacios).
  • 28. Cabeceras y footers personalizados (II) Ejemplo: si estamos en la categoría de Cine se cargará header-cine.php. Si no, se cargará header.php <?php if (is_category('cine')) { get_header('cine'); } else { get_header(); } ?>
  • 29. Categorías y etiquetas personalizadas (I) Para cargar diferentes presentaciones dependiendo de la categoría o la etiqueta sobre la que se pinche, podemos crear un php igual que lo hacíamos con las cabeceras, es decir category-slug.php o tag-slug.php o bien con el siguiente formato de nombre category- XX.php o tag-XX.php (donde XX es el id que tiene internamente esa categoría o etiqueta). De esta forma, podríamos ponerle una cabecera, un footer y un sidebar personalizados dependiendo de la categoría o la etiqueta en la que estemos.
  • 31. Templates Podemos crear plantillas con comportamientos propios a los que luego asignar a cada página. Desde el editor de páginas estáticas hay una opción para aplicar plantillas. Para que un fichero php sea interpretado por WordPress como una template, hay que incluir al inicio del mismo el siguiente código: /* Template Name: Nombre-plantilla */
  • 32. The Loop El bucle es el proceso más importante de WordPress, aquel que nos devuelve y recorre todos los posts que corresponden al fichero desde el que se invoca: ● Si se le llama desde index.php, nos devuelve los últimos posts que se hayan escrito (tantos como tengamos definidos que deberían formar parte de la portada en el apartado de administración). ● Si se le llama desde archive.php, nos devuelve los posts de una etiqueta determinada o de una categoría concreta (dependerá de quién haga la llamada a ese fichero).
  • 33. <?php get_header(); if (have_posts()) : while (have_posts()) : the_post(); the_content(); endwhile; endif; get_sidebar(); get_footer(); ?>
  • 34. The Loop wp_query->current_post: nos devuelve el número del post en el que estamos dentro del loop. Un ejemplo de uso en el que mostramos el contenido para los tres primeros posts y sólo el título para el resto: <?php if (have_posts()) : while (have_posts()) : the_post(); if ($wp_query->current_post < 3) { the_content(); } else { the_title(); } endwhile; endif; ?>
  • 35. query_posts: nuestro Loop personalizado También se puede controlar qué posts nos devolverá ese loop mediante la función query_posts. Esa función regenera la consulta y filtra los posts en base a los parámetros que le pongamos: ● cat=ID: filtra por esa categoría. Si al id se le pone un guión por delante, muestra los posts de todas las categorías menos de esa. ● tag=slug: filtra por etiqueta. En esta ocasión se le pasa el slug. Si queremos usar el ID de la etiqueta, pondremos el parámetro tag_id. ● author=ID: filtra por usuario, usando el ID del mismo. ● order=ASC u order=DESC: indica la ordenación de los resultados, ascendente o descendente. ● year=año: filtra por año. ● monthnum=mes: filtra por mes. ● day=día: filtra por día. ● posts_per_page=número: número de posts por página
  • 36. <?php query_posts('posts_per_page=5&author=3&tag=discos'); //The Loop if ( have_posts() ) : while ( have_posts() ) : the_post(); .. endwhile; else: .. endif; //Reset Query wp_reset_query(); ?>
  • 37. Funciones nativas de WordPress
  • 38. the_permalink() Nos dará la url del post que estemos tratando dentro del loop. No tiene parámetros. Con get_permalink() tendremos que mostrarlo nosotros por pantalla con un echo, pero nos permite que, si tenemos el ID del post y se lo pasamos por parámetro, lo usemos fuera del loop: get_permalink($post->ID)
  • 39. the_title($before, $after, $echo) Muestra el título del post. Es necesario usarlo dentro del loop. Los parámetros $after y $before nos permite introducir cadenas de texto que irán delante y detrás respectivamente. Ejemplo: the_title('<h3>', '</h3>'); El parámetro $echo nos sirve para indicar si queremos que muestre el título por pantalla (si lo ponemos a true) o no para hacer algún tratamiento con ese título (si lo ponemos a false). Con get_the_title(ID) sucede igual que get_permalink pero para el título del post.
  • 40. the_content() Muestra el cuerpo del post.Se usa dentro del loop Tiene también su versión get_the_content()
  • 41. the_excerpt() Muestra lo que hayamos introducido en el campo Extracto Se usa dentro del loop. Tiene su versión get_the_excerpt()
  • 42. <?php if(!empty($post->post_excerpt)) { // Si tiene extracto, lo muestra the_excerpt(); } else { // Si no, muestra el contenido del post the_content(); } ?>
  • 43. the_time() Muestra la fecha por cada post Le podemos pasar por parámetro el formato de esa fecha
  • 44. l = Nombre completo del día de la semana. ● F = Nombre completo para el mes. ● j = Día numérico. ● m = Mes con dos dígitos. ● Y = Año con cuatro dígitos. ● y = Año con dos dígitos. ● Para escapar letras, usaremos la barra . Por ejemplo, para poner la palabra "de" le pasaremos "de" <?php the_time('l, j de F, Y'); //Nos muestra Martes, 14 de Septiembre, 2010 ?>
  • 45. the_date() Igual que the_time pero muestra la fecha soló en el primer post de un grupo que haya sido publicado el mismo día
  • 46. bloginfo() Nos ofrece numerosa información de nuestro blog que luego podremos plasmar en otros apartados (tiene se versión get_bloginfo)
  • 47. bloginfo('name'): muestra por pantalla el nombre del blog. ● bloginfo('description'): muestra por pantalla el nombre del blog. ● bloginfo('url'): muestra por pantalla la dirección del blog. ● bloginfo('stylesheet_url'): muestra por pantalla la ruta del fichero de estilos (style.css). ● bloginfo('template_url'): muestra por pantalla la ruta del theme. ● bloginfo('rss2_url'): muestra por pantalla la ruta del RSS. <a href="<?php bloginfo('url'); ?>" title="<?php bloginfo('name'); ?>"> <?php bloginfo('name'); ?> </a>
  • 48. the_author() Muestra por pantalla el autor que ha escrito ese post Tiene su versión sin echo: get_the_author
  • 49. the_tags( $before, $separator, $after) Muestra las etiquetas asociadas a ese post Tiene su versión get_the_tags.
  • 50. Por parámetro se le puede pasar el texto que precederá a las etiquetas, los caracteres que queremos que separen las etiquetas y el texto que irá al final: <?php the_tags('Etiquetas:', ' - ', '<br />'); ?>
  • 51. previous_posts_link() next_posts_link() Muestra un enlace con el texto que le pasemos por parámetro a los posts que estén en páginas anteriores o posteriores
  • 52. <div class="navigation"> <div class="alignleft"> <?php previous_posts_link('','','Artículos Anteriores')?> </div> <div class="alignright"> <?php next_posts_link('','Artículos Siguientes','')?> </div> </div>
  • 53. in_category($category) Nos dice si ese post está en la categoría pasada por parámetro. Se puede pasar el ID de la categoría o bien el slug. Con esto también podemos hacer que tenga comportamientos distintos según la categoría y en un único fichero category.php
  • 54. <?php if (in_category('3') ){ ?> <img src='/images/plant.png' alt='a plant' /> <?php } elseif (in_category('4') ){ ?> <img src='/images/flower.png' alt='a pretty flower' /> <?php } ?>
  • 55. Custom fields o campos personalizados: información adicional como la canción que estaba escuchando el autor cuando escribía el post, su estado de ánimo, ...
  • 56. El Nombre será el identificador de nuestro campo personalizado y el Valor lo que queremos mostrar
  • 57. Obtendremos el valor de ese campo dentro del loop con la siguiente llamada get_post_custom_values: <?php $valor_custom_field = get_post_custom_values("nombre-del-custom- field"); ?> O también con la función get_post_meta: <?php $valor_custom_field = get_post_meta($post->ID, nombre-del-custom- field); ?>
  • 58. Creando nuestro propio apartado de administración para el theme
  • 59. Poner una cajita para guardar nuestro código de Google Analytics (en functions.php): function nombredeltheme_theme() { if(isset($_POST['submitted']) and $_POST['submitted'] == 'yes') : update_option("google_analytics", stripslashes($_POST['google_analytics'])); endif; ?> <form method="post" name="update_form" target="_self"> <h1>Google Analytics</h1> <table class="form-table"> <tr> <th>Google Analytics:</th> <td><textarea name="google_analytics" style="width: 95%;" rows="10" /> <?php echo get_option('google_analytics'); ?></textarea><br />Copia el código Google Analytics aquí.</td> </tr> </table> <p class="submit" id="jump_submit"> <input name="submitted" type="hidden" value="yes" /> <input type="submit" name="Submit" value="Save Changes" /> </form> <?php } function nombredeltheme_options() { add_menu_page('Opciones del Theme', __('Opciones del Theme', 'default'), 'edit_themes', __FILE__, 'nombredeltheme_theme'); } add_action('admin_menu', 'nombredeltheme_options');
  • 60. Luego lo llamamos desde footer.php: <?php echo get_option('google_analytics'); ?>
  • 62. Todas las imágenes* son propiedad de sus respectivos dueños, el resto del contenido está licenciado bajo Creative Commons by-sa 3.0 * Steven Snodgrass, Tracy, Publicenergy, Giuliana, Silkegb, Gabaldón, Gonzalo Iza, Sebastian Delmont, Maurizio Abbate, Leeni!, Borghetti, Gustavo Peres, Chris Bevan, Seattle Municipal Archives, Luis de Bethencourt, No hay un nombre real, Víctor Nuño, Baptiste Pons, Pupilas Gustativas, Jesús DQ, Brandon Warren, Joe Lencioni, Arnoldo Lara, Luis Beltrán, Ivan Walsh, Claudio Sepúlveda Geoffroy, Mireia, Sara Musicò, Anaïs RV, David Acevedo, Godoy