El gran libro de desarrollo de plugins WordPress. Jhon Jairo Rincón Cardona
Чтение книги онлайн.

Читать онлайн книгу El gran libro de desarrollo de plugins WordPress - Jhon Jairo Rincón Cardona страница 16

Название: El gran libro de desarrollo de plugins WordPress

Автор: Jhon Jairo Rincón Cardona

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9788426734709

isbn:

СКАЧАТЬ con parámetros

      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

      Fijémonos que el gancho de filtro es ‘shortcode_atts_reslink’. Este gancho tiene el nombre de la función shortcode_atts seguido de un guion bajo y el nombre de nuestro shortcode reslink. Así creamos los ganchos de filtro para los shortcodes.

      Para eliminar el shortcode, solo debo emplear la función remove_shortcode() y pasarle el nombre de nuestro shortcode.

Illustration

      Así ya no se mostrará más el shortcode. También podemos crear un condicional que me valide si el shortcode ha sido eliminado. Esto me devolverá un mensaje que saldrá en la cabecera de nuestro sitio web.

Illustration Illustration

      Podemos comprobarlo con solo ver la página de inicio.

Illustration СКАЧАТЬ