MÓDULO 2. ADMINISTRANDO WORDPRESS. Estructura del administrador. Barra de menú superior. Menú de navegación lateral. Contenido principal.

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.
Francisco Javier Cervigon Ruckauer

Entradas. Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Medios, páginas y comentarios. Medios. Páginas. Comentarios. Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Apariencia. Francisco Javier Cervigon Ruckauer

Apariencia

Otro aspecto clave en la administración de WordPress es la apariencia. En el siguiente vídeo, vamos a explicarte sus elementos principales. Temas, Personalizar / Cabecera / Fondo, Widgets, Menús y el editor
Descargar documento: 4_WPAdmin.pdf
Francisco Javier Cervigon Ruckauer

Plugins. Principales Plugins. Ejercicios de prácticas. Francisco Javier Cervigon Ruckauer

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.

Ejercicios de prácticas

Ponemos a tu disposición una serie de ejercicios con los que puedes practicar lo visto durante este módulo, tanto en los vídeos como en los materiales descargables.

Consulta lo documentos con los enunciados:


4 WP-Admin pdf

5 Plugins pdf
Francisco Javier Cervigon Ruckauer

MÓDULO 3. DESARROLLANDO WORDPRESS. Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Recursos. Núcleo. El Codex. Referencia a funciones. Coding Standards. Francisco Javier Cervigon Ruckauer

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.

Francisco Javier Cervigon Ruckauer

Cómo funciona Wordpress. La base de datos. Loop & Query. WP_Query. Francisco Javier Cervigon Ruckauer

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:
Francisco Javier Cervigon Ruckauer

Hooks. Acciones. Filtros. Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Dónde añadir nuestro código. functions.php. Plugins. Francisco Javier Cervigon Ruckauer

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".
Descargar documento: 7_DesarrolloWP.pdf
Francisco Javier Cervigon Ruckauer

MÓDULO 4. PERSONALIZANDO WORDPRESS Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Themes (temas). Cómo elegir un tema en WordPress. Themes - Punto de partida. Parent / Child Themes. Starter themes. Themes frameworks. Francisco Javier Cervigon Ruckauer

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. Esto 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 un 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án 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.
Francisco Javier Cervigon Ruckauer

Creando un tema. Hojas de estilo. Plantillas. Plantillas de página personalizadas (Custom Page Templates). Functions.php. Francisco Javier Cervigon Ruckauer

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:

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:

Descargar documento: 8_Themes.pdf
Francisco Javier Cervigon Ruckauer

Post personalizados. Custom Post Types. Taxonomías personalizadas. Campos personalizados. Francisco Javier Cervigon Ruckauer

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'.

Francisco Javier Cervigon Ruckauer

Desarrollo de plugins. Consideraciones previas. La cabecera del plugin. Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Desarrollo de plugins - Shortcodes Francisco Javier Cervigon Ruckauer

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.
Francisco Javier Cervigon Ruckauer

Creando un widget. Ejercicios de prácticas. Francisco Javier Cervigon Ruckauer

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: argsesunarrayquecontieneargumentosdeláreadewidgetseinstance es otro array que contiene las propiedades del propio widget. Veamos cómo podemos usar estas últimas.

Descargar documento: 10_DesarrolloPlugins.pdf

Ejercicios de prácticas

Ponemos a tu disposición una serie de ejercicios con los que puedes practicar lo visto durante este módulo, tanto en los vídeos como en los materiales descargables.
Consulta los documento con los enunciados:
8.1 Creando un tema _s pdf

9.1 Custom Post Types pdf

10.1 Shortcode 'Tuitea' esto pdf
Francisco Javier Cervigon Ruckauer

Videotutoriales de gran calidad Francisco Javier Cervigon Ruckauer

Videotutoriales de gran calidad:


https://www.youtube.com/watch?v=V50sBgQFcTM 
(vídeotutorial de 1 hora 43 minutos)

https://www.youtube.com/watch?v=nJDc0gJuiFs 
(5 vídeos)

https://www.youtube.com/watch?v=kZn70V39Nis 
(un vídeo de 5 horas 34 minutos)

https://www.youtube.com/watch?v=7CUyCeq9f_0&list=PLmIEoKACpcDy5XGw_v7RFxRQ04cvXCF40 
(33 vídeos)

https://codigofacilito.com/cursos/Wordpress
Francisco Javier Cervigon Ruckauer