SENCE CAPACIOTACIONES
WordPress
APRENDE WordPress DE FORMA SENCILLA
Jacqueline Anaís Órdenes Miranda
[Fecha]
WordPress
Aprender WordPress de forma sencilla
Módulo 1. Iniciándote con WordPress
Introducción a WordPress
PDF modulo 1: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078028/1_Introducci%C3%B3nWordpress.pdf/8c738e98-
4dca-4ba4-81c6-f1593cf53ca0?version=1.0
WordPress.
Wordpress se ha convertido en la principal solución de gestión de
contenidos (CMS) prácticamente desde su nacimiento, en 2003. Esto se
debe, a que su uso es muy intuitivo y podemos crear sitios web con
diferentes objetivos.
A continuación, te mostramos una serie de características que han
hecho de Wordpress el líder en el mercado de soluciones CMS.
1. Facilidad de uso.
2. Es multidispositivo.
3. No es necesario contar con conocimientos de programación para
comenzar a usarlo.
4. Mejora el SEO.
5. Permite cambiar de forma rápida el diseño y estructura de nuestro
sitio web.
6. La integración de wordpress es sencilla
7. Plugins. Cuenta con un gran número de plugins gratuitos
8. Escalabilidad. Es sistema que se adapta de forma muy fácil a las
necesidades que nos puedan ir surgiendo.
Wordpress.com
Creación de una web en Wordpress.com
El proceso de creación de una web en wordpress.com es sencillo y
rápido. Actualmente está dividido en seis simples pasos. Basta con
entrar en wordpress.com1 y pulsar en alguno de los botones que nos
invitan a crear un sitio web o a registrarnos en su servicio si no somos ya
usuarios.
Para registrar una cuenta de usuario en Wordpress es preciso crear, al
menos, una web. Por eso el proceso de crear una web y registro nos
guiarán por los mismos pasos.
1. Elegir la temática de nuestro blog.
2. Elegir un tema (aspecto visual)
3. Selección de un dominio
4. Selección del tipo de plan
5. Registro
El menú de usuario
Cuando entramos a la dirección de nuestro blog en wordpress. com,
habiendo iniciado sesión de wordpress (con nuestro usuario y
contraseña), veremos que, además del propio blog, disponemos de una
serie de opciones extra situadas en un menú superior.
Todas las opciones que aparecen nos llevarán a un panel de
administración desde el que gestionar nuestra web (aunque ajeno a ella)
De hecho, este menú aparecerá (con ciertas modificaciones) siempre
que accedamos a un blog alojado en wordpress.com teniendo activa
nuestra sesión de usuario, dado que no es un menú exclusivo para
labores de creación y edición de contenido. Incluye otras funcionalidades
de la red de blogs de wordpress.com
A continuación, te mostramos alguna de estas opciones que nos ofrece
el menú de usuario en Wordpress
1. Mis sitios
2. Lector
3. Estadísticas de visitas
4. Crear nueva entrada
5. Perfil en Wordpress
6. Notificaciones
7. Personalizar
En la documentación de descarga encontrarás más información sobre
cada una de estas opciones.
Gestión de la Web
Casi todas las opciones que encontramos en los menús que vimos en el
apartado anterior nos llevan a un panel de gestión dentro de
wordpress.com. Desde este panel podremos consultar estadísticas,
cambiar nuestro plan de wordpress.com (para elegir uno de pago con
más funcionalidades), publicar páginas y entradas, personalizar el
aspecto del blog, y realizar otros ajustes.
PDF 2 modulo 1: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078028/1_Introducci%C3%B3nWordpress.pdf/8c738e98-
4dca-4ba4-81c6-f1593cf53ca0?version=1.0
Wordpress.org
Hosting
La versión de wordpress.org es también conocido como Wordpress
autohospedado (self-hosted), en referencia a la necesidad de contar con
un alojamiento propio a diferencia del servicio alojado en
wordpress.com.
Existe una gran variedad de servicios de hosting y servidores entre los
que elegir a la hora de ubicar nuestra web. A veces, cuando trabajamos
para un cliente podemos estar sujetos al uso de un hosting o servidor
que ya tenga contratado. En otras ocasiones tendremos que ser nosotros
quienes recomendemos o elijamos directamente entre un servicio y otro.
La elección debe hacerse según criterios muy variados: fiabilidad,
precio, facilidad de uso, soporte, seguridad, tamaño del proyecto,
posibilidad de alojar otras webs o servicios...
Requisitos mínimos
Es importante tener en cuenta los requisitos mínimos de la versión de
Wordpress que vayamos a instalar. No son requisitos demasiado
exigentes, puesto que no requieren las últimas versiones de PHP ni de
MySQL.
El hecho de que Wordpress no exija las últimas versiones facilita que
pueda ser usado en la mayoría de hostings, aunque estos no estén
siempre actualizados.
Sí que debemos tener en cuenta que no debemos usar características
propias de las versiones superiores a las soportadas por la última
versión estable de Wordpress, si nuestra intención es escribir código que
vayamos a compartir
Instalación: Manual y Automática
En el siguiente vídeo te vamos a mostrar cómo realizar la instalación de
Wordpress, este nos permite instalarlo de forma manual o de manera
automática. Veamos como realizar cada una de ellas.
PDF 3 Modulo 1: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078065/3_WPORG.pdf/05a24396-0121-4558-8cab-
45edc5964d3e?version=1.0
Módulo 2. Administrando WordPress
Como sabes, la principal característica de Wordpress es la facilidad de su
uso, sobre todo, a la hora de llevar a cabo tareas de administración.
Estructura del administrador
Lo primero que vemos al acceder a nuestro sitio de Wordpress como
administrador es la página de inicio del escritorio.
En esta página observamos una división de contenidos que será
constante en todo el panel de administración: dos barras de menús en
las partes superior e izquierda, y un bloque principal ocupando el
espacio restante.
Barra de menú superior
Compuesta por varios elementos:
1. Enlaces a recursos de ayuda proporcionados por Wordpress
2. Enlace a la portada de nuestra web (parte pública)
3. Indicador de nuevos comentarios
4. Accesos rápidos a la creación de nuevo contenido
5. Opciones de usuario: Editar perfil / Cerrar sesión
Menú de navegación lateral
Desde esta barra podremos acceder a todas las páginas desde las que
podremos gestionar nuestro blog y sus contenidos. Están agrupadas por
categorías. Al pasar el ratón por encima de cada una de ellas nos
muestras las diferentes opciones disponibles. La categoría marcada en
un color diferente es la que corresponde a la página actual del panel de
administración
Contenido principal
Es la parte que variará dependiendo de la página del panel en la que nos
encontremos. Veremos en detalle el contenido de las más importantes,
pero el esquema es bastante similar en la mayoría de ellas.
Entradas
La sección de entradas seguramente se convertirá en la sección que
más visites dentro del área de administración de Wordpress. Es el lugar
en el que crearás, editarás, categorizarás y etiquetarás contenidos para
tu sitio montado con Wordpress.
Medios, páginas y comentarios
Medios
Esta opción del menú nos permite gestionar nuestra “Biblioteca
multimedia” conformada por todos los archivos que subimos a nuestra
web para usarlos en nuestros artículos y páginas o para ponerlos a
disposición de nuestros lectores.
El tamaño máximo de los archivos que podemos subir viene
determinado por los parámetros de nuestra instalación de PHP por lo
que, dependiendo del hosting que estemos usando, quizá no podamos
modificarlo.
Páginas
La gestión de las páginas en WordPress es muy similar a la de las
entradas. Las principales diferencias son la ausencia del extracto y de
los tipos y la aparición de una nueva caja con “Atributos de página”.
Desde este nuevo apartado podremos establecer un orden jerárquico
para las páginas (pudiendo crear “subpáginas” o “secciones”). Además,
podremos seleccionar la plantilla que se usará para mostrar la página.
Las opciones disponibles en este punto dependen del tema, aunque con
unos pocos conocimientos del diseño de temas no nos será difícil crear
plantillas nuevas.
Comentarios
Esta sección nos permite revisar y administrar nuestros comentarios.
Podremos consultarlos, filtrándolos por su estado actual y modificar ese
estado en lote o de forma individual.
Apariencia.
PDF 4 modulo 2: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078159/4_WPAdmin.pdf/40c8c4f9-37d9-4e22-a80b-
0fa3d37ba4f1?version=1.0
Plugins
Un plugin en WordPress es un archivo o conjunto de archivos que
amplían o modifican la funcionalidad del núcleo o de algún otro plugin ya
activo.
Los plugins pueden actuar de diversas formas. Pueden modificar el
aspecto de la parte pública, pueden añadir o modificar opciones del
panel de administración, pueden crear widgets o shortcodes, o pueden
realizar tareas invisibles para usuarios y administradores.
En la comunidad de WordPress , existen numerosos plugins con los que
podemos cubrir muchas de las necesidades que nos puedan surgir.
Principales Plugins
En el directorio de descarga de plugins de WordPress, podemos
encontrar 47.636 plugins disponibles con un número total de descargas
de 1.460.752.
En el siguiente vídeo, vamos a mostrar 6 de los principales plugins que
puedes encontrar en este directorio.
PDF 5 modulo 2: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078171/5_WPPlugins.pdf/714ade40-21fe-4f65-8c46-
f4b4d3087245?version=1.0
Módulo 3. Desarrollando WordPress
Para el desarrollo de Wordpress, tendrás que poner en práctica tus
conocimientos de PHP, HTML, CSS, JavaScript y MySQL.
Recursos
Núcleo
El núcleo de WordPress es la base del CMS, que nos aporta la mayor
parte de la lógica y las funcionalidades. No debemos modificarlo, ya que
podríamos causar un funcionamiento inesperado. Además, cualquier
modificación podría perderse al instalar una nueva actualización.
Sin embargo, conviene acceder a él para comprender su funcionamiento
y con él, la forma en la que podemos modificarlo mediante nuestro
propio código en los temas y plugins. Casi todo el código está
comentado. Muchos archivos incluyen al inicio un bloque de comentario
aportando una descripción de lo que hacen y otra información útil.
También la mayoría de funciones cuenta con una descripción de lo que
hacen, así como de los parámetros que esperan y que devuelven o la
versión de Wordpress en la que fueron incluidas.
Veamos un par de ejemplos de comentarios en diferentes archivos:
El Codex
La web es una wiki mantenida por la comunidad y traducida, al menos
parcialmente, a diversos idiomas. Sin embargo, hay que tener en cuenta
que a veces la documentación no está todo lo actualizada que debiera.
Pese a eso, sigue siendo una referencia ineludible a la hora de trabajar
con WordPress.
Referencia a funciones
Como has visto al comienzo de este módulo, en esta página podremos
buscar fácilmente una función y consultar su descripción, los
parámetros, el valor devuelto, el changelog y la propia definición de la
función. Esta es la misma información que vemos en los archivos PHP, y
no es casualidad.
Esta referencia está construida a partir de la información del propio
código, haciendo uso de PHPDoc, lo que nos asegura que esté siempre
actualizada. En ese sentido, será cuestión de comodidad acudir según el
caso a esta referencia o al propio código de los archivos.
Coding Standards
Con el objetivo de que WordPress siga siendo un CMS de código legible y
sencillo, nacen los Coding Standards.
A continuación, te mostramos algunos ejemplos de las reglas de PHP en
WordPress:
Convenciones sobre nombres:
Los nombres de las variables se escriben en letras minúsculas.
Las clases comienzan las palabras en mayúsculas.
Las constantes están escritas íntegramente en mayúsculas.
En los tres casos anteriores, las palabras se separan mediante
guiones bajos ("snake_case").
En los nombres de archivo las palabras se separan con guiones
medios.
Uso de espacios
Se deben usar espacios a ambos lados de los paréntesis de los
condicionales y bucles.
En los lados interiores de los paréntesis al definir y llamar a
funciones.
A ambos lados de los comparadores.
Condiciones "Yoda"
En las comparaciones lógicas se deben poner las variables en la parte
izquierda y las constantes, literales o funciones en el lado derecho. Así,
por ejemplo, en caso de que olvidemos un signo de igual (=) al ir a hacer
una comparación de igualdad (==), se lanzará un error en lugar de
asignarse un valor de forma errónea.
Cómo funciona Wordpress
Pese a la gran variedad de personalización que podemos hacer en
WordPress, lo cierto es que casi todas las páginas trabajan de una forma
muy similar.
La base de datos
Aunque a nivel de usuario un post y una página sean cosas diferentes,
internamente Wordpress las trata del mismo modo. Ambos tipos de
contenido se guardan en la misma tabla (wp_posts) con los mismos
campos de información. Lo único que los diferencia y permite que
puedan ser tratados (y sobre todo, mostrados) de forma diferentes es el
campo post_type.
Pero las páginas y las entradas no son dos únicos post_types posibles.
Por defecto, Wordpress cuenta con cinco tipos diferentes:
Entrada/Post (‘post’)
Página (‘page’)
Adjunto (‘attachment’)
Revisión (‘revision’)
Elemento de menú (‘nav_menu_item’)
Loop & Query
Loop como su nombre indica se trata básicamente de un bucle, que
recorre los posts a manejar (ya sean varios o uno solo) y actúa sobre
cada uno de ellos de la forma que se precise. Así es como se presenta
habitualmente el Loop:
WP_Query
Cuando accedemos a una dirección de WordPress, ya sea para consultar
una página estática, leer una entrada específica, o consultar el archivo
de entradas para una determinada categoría, WordPress realiza
automáticamente la consulta necesaria a nuestra base de datos.
Si, por ejemplo, queremos ver todas las entradas categorizadas como
"tecnología", el sistema lo detectará gracias a la url y rescatará los
últimos artículos de esa categoría. La propia consulta, sus resultados e
información extra se guardan en la variable $wp_query, que queda
preparada para ser usada en el "Loop".
En cada iteración del bucle, otra variable global llamada $post va
tomando los datos de cada uno de los posts a mostrar permitiendo
acceder a ellos fácilmente desde las plantillas. Para conocer todo lo
necesario sobre esta clase es conveniente revisar su documentación.
Veamos unos ejemplos de uso:
Hooks
La forma en la que una pieza de código interactúa con otra en WordPress
son los hooks. Los usan los plugins para interactuar con el núcleo de la
plataforma o con otros plugins, pero también se usan dentro del propio
núcleo para relacionar unas partes con otras. Son eventos disparados
por acciones y filtros, que nos permiten asociar nuestras propias
funciones.
Acciones
Las acciones nos permiten agregar o quitar código en diferentes puntos
de la ejecución. Para añadir nuestro propio código en una determinada
acción usaremos la función add_action indicando el nombre del filtro al
que se "enganchará" y el nombre de la función que se ejecutará.
Como parámetros adicionales podemos indicar la prioridad (para indicar
el orden de ejecución en caso de que haya varias funciones asociadas al
filtro), y el número de argumentos que aceptará la función.
El listado completo de acciones disponibles en el núcleo está incluido en
la documentación que WordPress, pone a nuestra disposición en el
Codex.
Filtros
Los filtros nos permiten modificar los datos que procesa Wordpress. Al
contrario que las acciones, no nos permiten añadir ni eliminar código.
Solo podemos reemplazar datos (generalmente variables).
Podemos añadir nuestro propio código a un filtro mediante la función
add_filter, que es llamada de la misma forma que add_action, pero que
debe asociarse a un filtro en lugar de a una acción.
El listado íntegro de filtros de WordPress puede consultarse en la
documentación disponible en el Codex.
Dónde añadir nuestro código
Como os comentábamos a la hora de incluir código en nuestro sitio
WordPress, aunque estemos siguiendo un manual, debemos plantearnos
si la forma en la que se actúa en él es la más práctica para nosotros en
nuestra situación. Veamos las ubicaciones habituales para nuestro
código en WordPress:
functions.php
Este archivo forma parte de cada tema de wordpress. Nos permite
extender funcionalidad, pero debemos tener en cuenta que, al tratarse
de un archivo dependiente de un tema específico, las modificaciones
que hagamos se perderán si se cambiamos de tema. Probablemente
esta sea la mejor opción cuando añadamos algo con un fuerte
componente visual, muy asociado al tema en concreto. Hay que tener en
cuenta que si cometemos algún error en este archivo es probable que no
podamos acceder a nuestro wordpress (nos aparecerá la página en
blanco).
Plugins
Los plugins son independientes de los temas, por lo que si queremos
añadir un comportamiento y que este se pueda mantener
independientemente del tema que usemos probablemente esta sea una
opción a considerar. Hay que tener en cuenta que los plugins pueden
activarse y desactivarse a voluntad en el panel de administración, lo
cual aporta un control extra. Si cometemos algún error en el código de
un plugin, wordpress lo deshabilitará, pero la web funcionará sin
problema.
Existe un tipo de plugins especial que no aparecen en el listado junto
con el resto y por lo tanto no pueden desactivarse. Estos plugins de uso
obligatorio (Must Use Plugins) se instalan y activan al copiarlos en el
directorio "wp-content/mu-plugins".
PDF 6 Modulo 3: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078227/6_DesarrolloWP.pdf/44349d93-e3b2-4a0f-8450-
5a1b22c6b2e5?version=1.0
Módulo 4. Personalizando WordPress
Una de las principales características de WordPress que lo hacen
destacar por encima otros CMS, es su vertibilidad a la hora de poder
personalizar nuestro sitio web. En el siguiente vídeo vamos a identificar
3 elementos clave a la hora de poder personalizar nuestra página web:
Themes (temas), Post y Plugins. En las siguientes pantallas
profundizaremos sobre cada uno de estos elementos.
Themes (temas)
A la hora de hablar de temas en WordPress debemos contemplar 3
posibilidades:
1. Utilizar alguno de los temas que viene por defecto en WordPress.
2. Visitar alguna de las numerosas webs que cuentan con un amplio
catálogo de plantillas que podemos adquirir
3. Crear o editar un tema existente. Es to implica desarrollar código,
por nuestra cuenta y riesgo, para adaptar el tema de nuestro sitio
web a las necesidades que se nos plantean.
En función de las necesidades que plantee el proyecto que vayamos a
desarrollar, debemos contemplar alguna de estas opciones.
Cómo elegir en tema en WordPress
A la hora de escoger un tema tenemos varias opciones. Podemos
limitarnos a buscar e instalar un tema (gratuito o de pago), podemos
realizar modificaciones a partir de un tema, o podemos crear uno desde
cero.
Para tomar esta decisión deberemos tener en cuenta varios factores:
Objetivo: No es lo mismo realizar una web con una finalidad
concreta y un uso temporal (para anunciar un evento, por ejemplo)
que una web que deba mantenerse en el tiempo y crecer sin que
la plantilla suponga limitaciones. Además, hay que tener en cuenta
que el diseño que elijamos debe servir para mostrar de la forma
más correcta el contenido de la web y para atraer al público y
facilitarle encontrar lo que busca.
Presupuesto / Tiempo: La cantidad de dinero disponible y el plazo
para el desarrollo son determinantes, aunque lo deseable es que
estén alineados con los objetivos a cumplir.
Funcionalidades / Flexibilidad: Podemos encontrar plantillas para
blogs, portafolios, webs corporativas, tiendas online... y también
temas lo suficientemente completos para dar cabida o todos estos
tipos de proyectos. Estos últimos aportan evidentemente una
mayor flexibilidad, pero en algunos casos pueden significar una
complejidad extra innecesaria.
Personalización: Algunos temas están preparados para modificar
su aspecto directamente desde el panel de administración de
Wordpress sin necesidad de tener conocimientos de diseño o CSS.
Estos temas permiten por ejemplo cambiar las tipografías o el
esquema de colores de la web.
Calidad: ¿Cómo podemos garantizar que el código tiene la calidad
deseable (rendimiento, SEO, etc) y que el tema funciona
correctamente? Un buen punto de partido puede ser consultar la
experiencia del desarrollador y las opiniones de otros usuarios.
Mantenimiento: También debemos consultar si el tema está
correctamente mantenido, es decir, si recibe actualizaciones en
caso de detectarse errores o para adaptarse a nuevas versiones de
Wordpress.
Soporte: Es importante, cuando usamos temas de terceros, contar
con alguna vía de soporte a través de la cual poder hacer
consultas al desarrollador en caso de que nos encontremos con
algún problema.
Extras: Algunos temas incluyen plugins e integran plugins para,
por ejemplo, construir las páginas “arrastrando y soltando” (drag
and drop) elementos4, o sliders para mostrar y animar diferentes
contenidos en un mismo espacio. De nuevo, habrá que valorar si
estos extras suponen un valor añadido o no para nuestro
propósito.
Otras consideraciones: Dependiendo de nuestros objetivos, puede
ser esencial encontrar un tema que funcione correctamente en
cualquier tipo de dispositivo y tamaño de pantalla (algo que
podemos considerar esencial en casi todos los casos actualmente),
o contar con traducciones a diferentes idiomas.
Themes - Punto de partida
Podemos crear un tema desde cero o partir de un tema ya existente. Lo
habitual es modificar un tema cuando las modificaciones a realizar van a
ser mínimas, pues de lo contrario puede ser más sencillo desarrollar
íntegramente el tema por nosotros mismos.
Parent / Child Themes
La forma habitual de crear un tema partiendo de otro es la de generar
un tema hijo (child theme) que herede del tema a modificar, pero le
sobreescriba o modifique en aquello que queramos. Esta forma de
actuar permitirá que podamos actualizar el tema padre en caso de que
aparezca una nueva versión sin que eso signifique perder nuestras
modificaciones específicas al mismo.
Crear un tema hijo a partir de otro será recomendable cuando queramos
hacer pequeñas variaciones que el propio tema no nos permita realizar
desde el área de administración, y siempre que no vayamos a cambiar
de forma drástica su estructura y su funcionalidad.
Starter themes
Sin embargo, también existen temas a modo de “esqueleto” que nos
facilitan el desarrollo de nuestros propios temas, puesto que cuentan
con el código básico y con un diseño mínimo que nos servirá de punto
de partida ahorrándonos tiempo. Algunos de los más populares son
Underscores, Components, Bones, Slekeleton, FoundationPress. También
existen otros como Sage, que está pensados para ofrecer un flujo de
trabajo más profesional al desarrollador (usando herramientas como
Gulp/Bower, SASS).
Una simple búsqueda de “starter themes” para WordPress nos ofrecerá
más opciones y nos permitirá consultar el estado de cada uno de los
proyectos para elegir el que más nos convenga.
Themes frameworks
Además de los citados starter themes, contamos también con los
llamados “theme frameworks” en los que el tema padre incluye toda la
parte de programación (archivos. php y .js) para relegar al tema hijo solo
lo referente al estilo (CSS y áreas de widgets), aunque también
contaremos con el archivo functions.php en caso de necesitarlo.
Creando un tema
Para crear un tema solo es necesario tener un buen conocimiento de
HTML y CSS. Conocer PHP nos permitirá ampliar y configurar ciertas
funcionalidades, pero la mayoría de las líneas que tendremos que
escribir en PHP cuando creemos temas son llamadas a funciones bien
documentadas
La documentación de WordPress tiene mucha información sobre el
desarrollo de temas:
Manual del Desarrollador de Temas
(https://developer.wordpress.org/themes/)
Guía de desarrollo de temas en el Codex
(https://codex.wordpress.org/Theme_Development)
Hojas de estilo
El único archivo necesario para que WordPress reconozca nuestro child
theme es la hoja de estilos que deberá llamarse style.css en el que
definiremos unos parámetros básicos e importaremos el archivo
style.css del tema padre.
Como vemos hemos incluido la información básica sobre nuestro tema,
en la que debemos incluir junto a la palabra “Template” el nombre del
tema del que heredaremos. Esa referencia a la plantilla (“template”) y la
linea final que importa sus estilos son fundamentales para que nuestro
tema sea su “hijo”.
Plantillas
Las plantillas son los archivos que generarán las páginas a mostrar a los
visitantes en función de su petición. Estos archivos incluyen la estructura
HTML, código PHP y las llamadas etiquetas de plantilla (template tags)17
que son funciones que nos facilitan obtener elementos o información de
nuestro wordpress.
Al estar creando un tema hijo, ya contamos con las plantillas del tema
padre, que podremos reescribir o ampliar. En caso de estar creando un
tema completamente nuevo, es preciso crear al menos una plantilla
llamada index,php que sería la que se usara para mostrar todas las
páginas de nuestro sitio.
Lo normal es que queramos usar plantillas diferentes para diferentes
páginas de nuestra web.
Plantillas de página personalizadas (Custom Page Templates)
Además de poder crear plantillas específicas para un determinado post,
categoría, etc como vimos en el diagrama de jerarquía; podemos crear
plantillas que aparecerán disponibles al crear/editar una página.
Para crear estas plantillas bastará con añadir un DocBlock con la
etiqueta “Template Name”.
Functions.php
Podemos añadir un archivo llamado functions.php en el directorio raíz de
nuestro tema para crear cualquier función a la que queramos llamar en
las plantillas de nuestro tema.
Aunque no es obligatorio, si es recomendable comenzar este archivo con
un DocBlock con información del tema:
PDF 7 Modulo 4: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078280/7_Themes.pdf/2a9a190e-afd3-4445-9992-
3d26a71672e8?version=1.0
Post personalizados
Podemos crear todos los tipos de post que queramos (y luego
personalizar su comportamiento o presentación). Al hacerlo, nos
aparecerán en nuestro panel de administración nuevas secciones
permitiéndonos crear estos nuevos tipos de contenido.
Además, aunque todos los tipos de posts mantengan la misma
estructura en la base de datos, podemos añadir campos personalizados
a medida de cada tipo.
De la misma forma podremos añadir taxonomías a las ya existentes
(categorías y etiquetas) que nos ayuden a organizar nuestro contenido.
Custom Post Types
La función que nos permite registrar un nuevo tipo de post
personalizado es register_post_type, que acepta dos argumentos. El
primero, obligatorio, es el nombre que le daremos internamente al tipo
de post. El segundo es un array (o string) que puede incluir una gran
cantidad de parámetros como el nombre que se mostrará al usuario en
el menú, su plural, una descripción, un icono...
Taxonomías personalizadas
Para ver cómo podemos crear nuestras propias taxonomías, vamos a
incluir una, llamada "departamento", para nuestras "personas". Eso nos
permitirá poder mostrar solo a parte del equipo en un momento dado.
Por ejemplo, si creamos páginas para hablar de los distintos
departamentos de una empresa, podremos incluir las fichas del equipo
que forma parte de ese departamento. Usaremos la función
register_taxonomy indicando, al menos, el nombre (interno) que le
daremos a la taxonomía y el tipo de objeto (u objetos) que la usarán. El
tercer parámetro, opcional, es una lista de argumentos, de los cuales
solo usaremos una pequeña parte en el ejemplo:
Campos personalizados
Si queremos solicitar unos campos específicos en un tipo de post
específico, podemos registrarlos con la función register_meta. La función
que realice esta tarea la asociaremos al hook 'init'.
PDF 8 modulo 4: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078292/8_PostRealizados.pdf/1246fe8b-3e67-431e-a46b-
0dcd091573cf?version=1.0
Desarrollo de plugins
Consideraciones previas
Nombre del plugin: Cuando creamos un plugin debemos elegir un
nombre que explique su función pero que no tenga ya otro plugin
de los disponibles en el repositorio oficial. De lo contrario
WordPress pensará que estamos usando ese otro plugin.
Prefijar código: Igual que sucede con el nombre del plugin, es
conveniente distinguir nuestras variables y funciones del resto de
las que pueda tener una instalación de WordPress. La mejor
manera de conseguirlo añadir un prefijo a nuestras funciones a
todo nuestro código, desde los archivos a las funciones y variables
para evitar posibles colisiones con otros que coincidan en el
nombre.
Estructura clara: Aunque un plugin puede contar de un único
archivo, lo normal es que el plugin se estructure en una carpeta
que contenga a su vez otras con los diferentes archivos (.php, .css,
.js, imágenes...).
Licencia: Wordpress se distribuye bajo una licencia GNU GPL y todo
plugin desarrollado para él debe tener esta licencia u otra que sea
compatible con ella. Aunque no es obligatorio, si es conveniente
incluir en nuestro plugin un archivo llamado license.php con toda
la información del tipo de licencia.
La cabecera del plugin
El archivo principal de cualquier plugin debe tener un aspecto similar a
este:
Veamos la información contenida en este bloque de comentario:
Nombre del plugin. Es el único de los datos que es obligatorio,
aunque es conveniente incluirlos todos para aportar la máxima
información posible sobre el plugin a los usuarios.
URI con más información sobre el plugin.
Breve descripción del plugin
Versión del plugin
Nombre del desarrollador o empresa
Página del desarrollador o empresa
Licencia y URI con sus términos
Nombre y ruta del dominio. Se usará para traducir las cadenas de
texto de nuestro plugin a otros idiomas.
Desarrollo de plugins - Shortcodes
Vimos anteriormente como crear tipos de post, taxonomías y campos
personalizados. Podremos usar plugins que añadan esa funcionalidad. En
este ejemplo, veremos un plugin que genera un shortcode. Un shortcode
es una etiqueta especial que los autores pueden usar en el contenido de
las entradas/páginas y que será sustituida por el contenido que
determinemos.
El autor solo necesita conocer el nombre del shortcode y escribirlo entre
corchetes ( [ ] ). El texto se guardará en la base de datos de la misma
forma en la que lo escribió, pero al rescatar la información, pero al
mostrar esa página al usuario en la parte pública, ese pequeño código
se sustituirá por la cadena que devuelva la función que hayamos
asociado. Esa cadena puede incluir código HTML, por lo que los autores
podrán añadir cualquier tipo de contenido sin necesidad de saber
siquiera HTML.
La función que usemos en el shortcode recibirá tres argumentos. El
primero, un array con los posibles atributos que se pasen en la llamada:
El segundo argumento será el contenido encerrado, en caso de que se
use un shortcode de entrada y otro de salida (como si fuera una etiqueta
HTML):
El tercer argumento será el propio nombre del shortcode, que en nuestro
ejemplo no nos hará falta.
Para profundizar en el desarrollo de todo tipo de plugins, uno de los
mejores recursos es el Manual de Plugins oficial.
(https://developer.wordpress.org/plugins/)
Creando un widget
WordPress cuenta con una clase para manejar widgets llamada
WP_Widget y ubicada en wp-includes/class-wp-widget.php. Para crear
nuestro propio widget crearemos una clase que extienda de ella. Bastará
con señalar los parámetros básicos de nuestro widget y pasárselos al
constructor de la clase padre.
Tendremos que registrar nuestro widget después de que se registren los
widgets propios del núcleo. Para ello usaremos la función register_widget
asociada al action hook widget_init.
Con el widget registrado ya lo tendremos disponible en nuestra sección
de widgets19. Sin embargo, nuestro plugin no mostrará nada en la parte
pública salvo un aviso:
Sobreescribamos método widget() que se encargue de mostrar algo.
Los dos parámetros que recibe nuestro método widget están
debidamente documentados en el método de la clase padre WP_ Widget:
$args es un array que contiene argumentos del área de widgets e
$instance es otro array que contiene las propiedades del propio widget.
Veamos cómo podemos usar estas últimas.
PDF 9 modulo 4: https://conectaempleo-
formacion.fundaciontelefonica.com/documents/
116077626/116078379/9_DesarrolloPlugins.pdf/f28c8ef0-f524-4006-
8fd5-703c939b2b4f?version=1.0