Jhon Jairo Rincón Cardona

El gran libro de desarrollo de plugins WordPress


Скачать книгу

btn btn-primary

      • btn btn-secondary

      • btn btn-success

      • btn btn-danger

      • btn btn-warning

      • btn btn-info

      • btn btn-light

      • btn btn-dark

      El href lo pasaremos como parámetro url.

      El target que pasemos como parámetro puede ser:

      • _blank

      • _self

      • _parent

      • _top

      Ahora vamos a nuestro panel de administración y, en entradas, vamos a la entrada que creamos anteriormente. Pruebe shortcode, aquí añadiremos un nuevo bloque widgets->shortcode. En este widget escribiremos el siguiente shortcode:

       [reslink url=”https://wordpress.org/” class=”btn btn-primary” target=”_ blank”][/reslink]

      Observemos que en este shortcode estamos pasando parámetros con valores que nosotros mismos personalizaremos para el botón que creamos.

      Si vamos a visualizar esta entrada, veremos nuestro botón Ver más información, que nos llevará a la url que hemos puesto.

Illustration

      Podremos ver información más detallada a cerca de la Api shortcode en el codex de WordPress:

       https://codex.wordpress.org/Shortcode_API

      En el tema anterior habíamos creado un shortcode con parámetros. Desarrollamos la función res_shortcode_link_personalizado(), donde pasábamos dos parámetros:

      • $atts

      • $content = null

      El código era el siguiente:

Illustration Illustration

      Vamos a realizar un ejercicio en el que modificando un poco esta función, podremos personalizar el texto del botón de nuestro shortcode.

      Ejercicio

      Vamos a personalizar el texto que hay en el botón de nuestro shortcode. Para ello, vamos a remplazar la variable $texto que hay dentro de la etiqueta <a></a> de nuestro botón.

Illustration

      Con esto ya podremos ir a nuestro panel de administración entradas y modificar el shortcode que teníamos. Ahora pondremos el texto Más información entre la etiqueta de apertura y la etiqueta de cierre de nuestro shortcode.

       [reslink url=”https://wordpress.org/” class=”btn btn-primary” target=”_blank”]Más información[/reslink]

      Si hacemos una vista previa de la entrada, veremos cómo cambia el texto del botón.

Illustration

      Para ver información más detallada a cerca de la Api shortcode, recuerde ir al siguiente enlace de la documentación oficial de wordpress:

       https://codex.wordpress.org/Shortcode_API

      Crear un filtro para nuestro shortcode puede ayudarnos o ayudar a otros desarrolladores a extenderlo desde otro plugin. Para ello, vamos al código con el que hemos trabajado anteriormente, la función res_shortcode_link_personalizado(). Dentro vamos a buscar la función shortcode_atts( ), a la cual le habíamos pasado 2 parámetros.

      Ahora le pasaremos un tercer parámetro. Este tercer parámetro será el nombre del shortcode que es reslink, quedaría así:

Illustration

      Este último parámetro es el que se utiliza para crear el gancho de filtro.

      Después de este cambio, vamos a realizar el siguiente ejercicio:

      Ejercicio

      En el siguiente ejercicio vamos a crear una función de filtro para nuestro shortcode. Lo haremos desde otro plugin; para ello vamos a los archivos de nuestro WordPress y vamos a

      wp-content/plugins/hello-dolly/hello.php

      Si no tenemos el plugin, lo buscaremos en el panel de administración Plugins->añadir. Una vez aquí, buscaremos hello e instalaremos Hello Dolly y luego activaremos el plugin.

Illustration

      Abrimos el archivo hello.php y escribimos el siguiente código:

Illustration

      Observemos algunas cosas importantes. Por ejemplo, que en esta nueva función estamos pasando 4 parámetros:

      • $attr_final : esa variable nos devuelve el valor que pasamos desde el panel de administración.

      • $attr_default : esta variable nos devuelve el valor que por defecto pasamos al momento de crear el shortcode, o sea, el valor por defecto.

      • $attr_new : esta variable nos devuelve el mismo valor que la variable $attr_default hasta que la retornamos con los nuevos valores.

      • $shortcode : esta variable me devuelve el nombre del shortcode, el cual definimos en la función res_shortcode_link_personalizado().

      Haremos un var_dump() con cada variable y aplicaremos un <br> para separarlos.

      Justo debajo pasaremos 3 índices del array $attr_final ( url, class, target ) con un valor diferente al que tenemos por defecto, así comprobaremos que la función de filtro funciona.

      Por último, retornaremos la variable $attr_final.

      Si hacemos una vista previa de la entrada, veremos los valores de las variables que se muestran con el var_dump(). También veremos cómo cambia nuestro botón personalizado:

Illustration Illustration

       IMPORTANTE

      Por último, y lo más importante de este ejercicio, es el gancho de filtro de nuestra función:

Illustration